Cod sursa(job #1504148)
Utilizator | Marin Dragos silk | Data | 17 octombrie 2015 14:09:59 |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include <cstdio>
#define MAX 1000005
int v[MAX];
int main(void){
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
int j,i,n,sol;
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;
}