Cod sursa(job #1613081)
Utilizator | Vasilescu Eliza Vasilescu | Data | 25 februarie 2016 10:40:40 |
---|---|---|---|
Problema | Fractii | Scor | 50 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
int e[100001];
int main(){
FILE *fin, *fout;
fin=fopen("fractii.in", "r");
fout=fopen("fractii.out", "w");
int i, n, j;
long long rez;
fscanf(fin, "%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);
rez=0;
for(i=2; i<=n; i++){
rez+=e[i];
}
rez*=2;
rez++;
fprintf(fout, "%lld\n", rez);
fclose(fin);
fclose(fout);
return 0;
}