Cod sursa(job #731346)
Utilizator | Data | 7 aprilie 2012 22:00:18 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
#include<stdlib.h>
long long int v[1000000],n,nr;
int main()
{FILE *fo=fopen("fractii.in","r"),*fc=fopen("fractii.out","w");
fscanf(fo,"%d",&n);
fclose(fo);
for(int i=1;i<=n;i++)
v[i]=i;
for(int i=2;i<=n;i++)
if(v[i]==i)
for(int j=i;j<=n;j+=i)
{v[j]/=i;
v[j]*=(i-1);
}
for(int i=1;i<=n;i++)
nr+=v[i];
fprintf(fc,"%lld",2*nr-1);
fclose(fc);
return 0;
}