a53

CIUR

a53
Mar 24th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. void ciur(int N, int s[])
  2. {
  3.  
  4. vector<bool> prime(N + 1, false);
  5.  
  6.  
  7. // pentru toate numerele pare
  8. for (int i = 2; i <= N; i += 2)
  9. s[i] = 2;
  10.  
  11. // pentru numere impare <=N
  12. for (int i = 3; i <= N; i += 2) {
  13. if (prime[i] == false) {
  14.  
  15. // s(i) pentru un număr prim este el însuși cel mai mic factor prim
  16. s[i] = i;
  17. /// aici s-ar putea memora toate numerele prime într-un alt vector
  18. // pentru toți multipli lui
  19. for (int j = i; j * i <= N; j += 2) {
  20. if (prime[i * j] == false) {
  21. prime[i * j] = true;
  22.  
  23. // i este cel mai mic factor prim
  24. // number "i*j".
  25. s[i * j] = i;
  26. }
  27. }
  28. }
  29. }
  30. }
Add Comment
Please, Sign In to add comment