Cod sursa(job #246816)
| Utilizator | Data | 21 ianuarie 2009 15:49:30 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <stdio.h>
#define Nmax 1000001
long long N, i, j, c[Nmax], rez;
int main()
{
fscanf(fopen("fractii.in", "r"), "%lld", &N);
for (i = 1; i<=N; ++i) c[i] = i;
for(i = 2; i <=N; ++i)
if (c[i] == i)
for (j = 1; i*j<=N; ++j)
c[i*j] *= (double)(i-1) / i;
for (i = 2; i<=N; ++i) rez+=c[i];
fprintf (fopen("fractii.out", "w"), "%lld", 2*rez+1);
return 0;
} 