Cod sursa(job #1429016)

Utilizator GeiGeiGeorge Cioroiu GeiGei Data 5 mai 2015 15:16:02
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
//0003
#include <cstdio>

using namespace std;

int main() {
    FILE* fi = fopen("fractii.in", "rt");
    FILE* fo = fopen("fractii.out", "wt");

    long n;
    fscanf(fi, "%ld", &n);
    long* v = malloc(n + 1);
    long long ans = 1;
    for (long i = 2; i <= n; i++)
        v[i] = i;
    for (long i = 2; i <= n; i++)
        if (v[i] == i) {
            ans += 2 * (i - 1);
            for (long j = 2 * i; j <= n; j += i)
                v[j] = (v[j] / i) * (i - 1);
        } else
            ans += 2 * v[i];
    fprintf(fo, "%lld", ans);
    return 0;
}