Cod sursa(job #1321797)
Utilizator | Data | 19 ianuarie 2015 15:29:06 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.39 kb |
#include <stdio.h>
#include <stdlib.h>
int e[1000000];
int main()
{
int i, j, n;
long long r;
FILE *fi=fopen("fractii.in", "r"), *fo=fopen("fractii.out", "w");
fscanf(fi, "%d", &n);
for(i=2;i<=n;i++)
e[i]=i;
for(i=2;i<=n;i++)
if(e[i]==i)
for(j=i;j<=n;j+=i)
e[j]=e[j]/i*(i-1);
r=0;
for(i=2;i<=n;i++)
r+=e[i];
fprintf(fo, "%lld", 2*r+1);
return 0;
}