Cod sursa(job #674546)
| Utilizator | Data | 6 februarie 2012 15:04:09 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <stdio.h>
FILE *c = fopen("fractii.in","r"),*s = fopen("fractii.out","w");
long long n,fractii,v[1000001],i,h;
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] = v[h] / i * (i-1);
for(i=2;i<=n;i++)
fractii += v[i];
fprintf(s,"%d",fractii*2+1);
return 0;
}
