Cod sursa(job #2230118)
| Utilizator | Data | 9 august 2018 10:11:56 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <stdio.h>
int eul[1000001], n;
void euler() {
for(int i = 1; i <= n; i++) eul[i] = i;
for(int i = 2; i <= n; i++)
if (eul[i] == i)
for(int j = i; j <= n; j += i)
eul[j] /= i, eul[j] *= (i-1);
}
int main()
{
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
scanf("%i", &n);
long long fr = 0;
euler();
for (int i = 2; i <= n; i++) fr += eul[i];
printf("%lld", fr*2 + 1);
return 0;
}
