Cod sursa(job #1325798)
| Utilizator | Data | 24 ianuarie 2015 12:59:48 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
FILE *fin,*fout;
int e[1000001],a,nr,i,j;
long long s;
int main()
{
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
fscanf(fin,"%d",&nr);
for(i=2;i<=nr;i++)
e[i]=i;
for(i=2;i<=nr;i++)
{
if(e[i]==i)
{
for(j=i;j<=nr;j+=i)
e[j]=e[j]/i*(i-1);
}
}
s=1;
for(i=2;i<=nr;i++)
s=s+e[i]*2;
fprintf(fout,"%lld",s);
fclose(fin);
fclose(fout);
return 0;
}
