Cod sursa(job #1194644)
| Utilizator | Data | 4 iunie 2014 14:16:50 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <stdio.h>
int main(int argc, char **argv)
{
int i, n;
FILE *f = fopen("fractii.in", "rb");
fscanf(f, "%d\n", &n);
fclose(f);
long long phi[n+1];
for(i=2; i<=n; i++)
phi[i] = i;
for(int i=2; i<=n; i++)
if(phi[i] == i)
for(int j=i; j<=n; j+=i)
phi[j] = phi[j] * (i-1) / i;
long long total = 0;
for(int i=2; i<=n; i++)
total += phi[i];
f = fopen("fractii.out", "wb");
fprintf(f, "%lld\n", 2 * total + 1);
fclose(f);
}
