Cod sursa(job #121807)
| Utilizator | Data | 9 ianuarie 2008 21:29:11 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.31 kb |
#include <stdio.h>
int phi[1000000],n,sol;
int phii(int N) {
int i,j;
for ( i = 1; i <= N; ++i)
phi[i] = i-1;
for ( i = 2; i <= N; ++i)
for ( j = 2*i; j <= N; j += i)
phi[j] -= phi[i];
}
int main() {
fscanf(f,"%lld",&n);
phii(n);
for (i=2;i<=n;i++)
sol+=2*phii[i];
fprintf("%d",sol);
return 0;
}
