Cod sursa(job #1472686)
| Utilizator | Data | 17 august 2015 16:26:57 | |
|---|---|---|---|
| Problema | Sum | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int Max = 1000005;
int phi[Max];
void Solve(){
for (int i = 1; i <= 1000005; ++i)
phi[i] = i-1;
for (int i = 2; i <= 1000005; ++i)
for (int j = 2*i; j <= 1000005; j += i)
phi[j] -= phi[i];
}
int main(){
ifstream fin("sum.in");
ofstream fout("sum.out");
int X , n;
Solve();
fin >> n;
while (n){
fin >> X;
fout << 2 * X * phi[X] << "\n";
n--;
}
fin.close();
fout.close();
return 0;
}
