Cod sursa(job #1181959)
Utilizator | Data | 4 mai 2014 13:02:04 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
long long S=1;
int *fi=(int *)malloc(1000001*sizeof(int));
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;++i)
fi[i]=i;
for(int i=2;i<=n;++i)
if(fi[i]==i)
for(int j=i;j<=n;j+=i)
fi[j]-=fi[j]/i;
for(int i=2;i<=n;++i)
S+=2*fi[i];
printf("%d",S);
return 0;
}