Cod sursa(job #249572)
Utilizator | Data | 28 ianuarie 2009 19:33:46 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <stdio.h>
long long v[1000001];
long long i,n,j,s;
int main ()
{
freopen ("fractii.in","r",stdin);
freopen ("fractii.out","w",stdout);
scanf ("%lld",&n);
for (i=2;i<=n;i++) v[i]=i;
for (i=2;i<=n;i++){
if (v[i]==i) for (j=i;j<=n;j=j+i) v[j]=v[j]/i*(i-1);
}
for (i=2;i<=n;i++) s=s+v[i];
printf ("%lld\n",1LL*s*2+1);
return 0;
}