Cod sursa(job #1205202)

Utilizator tudorv96Tudor Varan tudorv96 Data 5 iulie 2014 17:31:45
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
using namespace std;

const int N = 1e5 + 5;

long long phi[N], t, n;

int main() {
    FILE *fin = fopen("sum.in", "r");
    FILE *fout = fopen("sum.out", "w");
    for (int i = 1; i < N; ++i)
        phi[i] = i - 1;
    for (int i = 2; i < N / 2; ++i)
        if (phi[i] == i - 1)
            for (int j = i * 2; j < N; j += i)
                phi[j] -= phi[j] / i;
    fscanf (fin, "%lld", &t);
    while (t--) {
        fscanf (fin, "%lld", &n);
        fprintf (fout, "%lld\n", 2LL * n * phi[n]);
    }
}