Cod sursa(job #1181964)
| Utilizator | Data | 4 mai 2014 13:08:50 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
float 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("%.0f",S);
return 0;
}
