Cod sursa(job #1312150)
| Utilizator | Data | 8 ianuarie 2015 22:35:55 | |
|---|---|---|---|
| Problema | Fractii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <stdio.h>
#define NMAX 1000023
int n;
long long int sieve[NMAX], sum;
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, "%lld\n", sum * 2 + 1);
fclose(fin);
fclose(fout);
return 0;
}
