Cod sursa(job #679354)
Utilizator | Data | 13 februarie 2012 10:22:12 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.33 kb |
#include<stdio.h>
long long i,j,cnt,v[1000000];
long n;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
v[i]=i;
for(i=2;i<=n;i++)
if(v[i]==i)
for(j=i;j<=n;j+=i)
v[j]/=i, v[j]*=(i-1);
for(i=2;i<=n;i++)
cnt+=v[i];
printf("%lld",(2*cnt)+1);
return 0;
}