Cod sursa(job #1504149)
Utilizator | Marin Dragos silk | Data | 17 octombrie 2015 14:13:12 |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include <cstdio>
#define MAX 1000005
long v[MAX];
int main(void){
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
long n,sol,i,j;
scanf("%d",&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]=v[j]/i; v[j]=v[j]*(i-1);}
sol=1;
for(i=2;i<=n;++i) sol+=2*v[i];
printf("%d",sol);
//
return 0;
}