Pagini recente » Cod sursa (job #996580) | Cod sursa (job #2813399) | Cod sursa (job #1084009) | Cod sursa (job #2101410) | Cod sursa (job #1977405)
#include <cstdio>
const int MAX_E = 1000000;
int fi[1+MAX_E];
int main() {
int n;
FILE *fin = fopen("fractii.in", "r");
fscanf(fin, "%d", &n);
fclose(fin);
for(int i = 1; i <= n; ++i)
fi[i] = i;
for(int d = 2; d <= n; ++d)
if(fi[d] == d)
for(int i = d; i <= n; i = i + d)
fi[i] = fi[i] - fi[i] / d;
long long rez = 1LL;
for(int i = 2; i <= n; ++i) {
rez = rez + fi[i];
if(fi[i] == i)
--rez;
}
FILE *fout = fopen("fractii.out", "w");
fprintf(fout, "%lld", 2 * rez - 1);
fclose(fout);
return 0;
}