Cod sursa(job #470413)
Utilizator | Data | 13 iulie 2010 18:21:41 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <cstdio>
int a[1000002];
int i,j;
long int n, rez;
int main() {
FILE *f,*g;
f = fopen("fractii.in","r");
g = fopen("fractii.out","w");
fscanf(f,"%ld",&n);
for (i = 2; i<=n; ++i) {
a[i] = i-1;
}
for (i = 2; i<=n; ++i) {
for (j = 2*i; j<=n; j+=i) {
a[j] -= a[i];
}
}
for (i = 2; i<=n; ++i) {
rez += a[i];
}
rez *= 2;
rez++;
fprintf(g,"%d",rez);
fclose(f);
fclose(g);
return 0;
}