Cod sursa(job #1410992)

Utilizator DanielRusuDaniel Rusu DanielRusu Data 31 martie 2015 13:08:38
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>

using namespace std;

#define DIM 1000005

FILE *fin = fopen("fractii.in","r");
FILE *fout = fopen("fractii.out","w");

int N, V[DIM];
long long Answer;

int main() {
    fscanf(fin, "%d\n", &N);

    for(int i = 2; i <= N; ++i) {
        if(V[i] == 0) {
            V[i] = i - 1;

            for(int j = i + i; j <= N; j += i) {
                V[j] = (V[j] == 0 ? j / i * (i - 1) : V[j] / i * (i - 1));
            }
        }

        Answer += 1LL * (V[i] << 1);
    }

    fprintf(fout, "%lld\n", Answer + 1);

    fclose(fin);
    fclose(fout);

    return 0;
}