Cod sursa(job #2218913)
Utilizator | Data | 6 iulie 2018 13:39:57 | |
---|---|---|---|
Problema | Sum | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#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() {
ifstream f("sum.in");
ofstream g("sum.out");
int n,x;
f>>n;
calculeaza_phi();
while(n--) {
f>>x;
g<<1LL * 2 * x * phi [ x ] << '\n' ;
}
f.close();
g.close();
}