Cod sursa(job #2010374)
| Utilizator | Data | 12 august 2017 19:09:18 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <stdio.h>
#include <stdlib.h>
int v[1000001];
int main() {
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
int n;
int i, j;
scanf("%d",&n);
for (i = 2; i <= n; i++) {
v[i] = i;
}
i = 2;
while (i <= n) {
for (j = i; j <= n; j+=i) {
v[j] /= i;
v[j] *= (i - 1);
}
while (v[i] != i && i <= n)
i++;
}
unsigned long long nr = 0;
for (i = 1; i <= n; i++)
nr += v[i];
nr= 2 * nr + 1;
printf("%llu",nr);
return 0;
}
