Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.41 KB | None | 0 0
  1. // Calculate all Phi(x) form 2 to MAX_N
  2. // This code took less than 0.5s to calculate with MAX_N = 10^7
  3. const int MAX_N = 10000000;
  4. int phi[MAX_N];
  5. bool pr[MAX_N];
  6. void totient() {
  7.     for (int i = 0; i < MAX_N; i++) phi[i] = i, pr[i] = true;
  8.     for (int i = 2; i < MAX_N; i++) if (pr[i]) {
  9.         for (int j = i; j < MAX_N; j += i) pr[j] = false, phi[j] = phi[j] - (phi[j] / i);
  10.         pr[i] = true;
  11.     }
  12. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement