Cod sursa(job #2218915)
Utilizator | 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);
}