Cod sursa(job #674666)
| Utilizator | Data | 6 februarie 2012 16:45:12 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <stdio.h>
FILE *c = fopen("fractii.in","r"),*s = fopen("fractii.out","w");
long long n,fractii,i,h;
long long v[1000001];
int main()
{
fscanf(c,"%d",&n);
for(i=1;i<=n;i++)
v[i] = i;
for(i=2;i<=n;i++)
if(v[i] == i)
for(h=i;h<=n;h=h+i)
v[h] /= i, v[h]*= (i-1);
for(i=2;i<=n;i++)
if(v[i] > 0)
fractii += v[i];
fprintf(s,"%d",fractii*2+1);
fclose(c);
fclose(s);
return 0;
}
