Cod sursa(job #2218915)

Utilizator Ioana_GaborGabor Ioana Ioana_Gabor Data 6 iulie 2018 13:49:35
Problema Sum Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>
#define MAX 100002

using namespace std;

int phi[MAX+1];

void calculeaza_phi() {
    for(int i = 1; i <= MAX; i++)
        phi[i] = i-1;

    for(int i = 2; i < MAX; i++)
            for(int j = i*2; j < MAX; j += i)
                phi[j] -=phi[i];
}

int main() {
    int n,x;
    FILE *fin, *fout;
    fin = fopen("sum.in", "r");
    fscanf(fin, "%d", &n);
    fout = fopen("sum.out", "w");
    calculeaza_phi();
    while(n--) {
        fscanf(fin, "%d", &x);
        fprintf(fout, "%lld\n", 1LL*2*x*phi[x]);
    }
    fclose(fin);
    fclose(fout);

}