Cod sursa(job #1312147)
| Utilizator | Data | 8 ianuarie 2015 22:34:18 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <stdio.h>
#define NMAX 1000023
int n, sum;
int sieve[NMAX];
FILE *fin, *fout;
int main()
{
fin = fopen("fractii.in", "r");
fout = fopen("fractii.out", "w");
fscanf(fin, "%d", &n);
for(int i = 1; i<= n; i++) sieve[i] = i-1;
for(int i = 2; i<= n; i++)
{
for(int j = 2*i; j<= n; j+=i)
{
sieve[j] -= sieve[i];
}
sum+= sieve[i];
}
fprintf(fout, "%d\n", sum * 2 + 1);
fclose(fin);
fclose(fout);
return 0;
}
