Cod sursa(job #2096738)
Utilizator | Data | 29 decembrie 2017 17:54:58 | |
---|---|---|---|
Problema | Sum | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n, k, phi[100001];
void indiceleLuiEuler(){
for(int i=1; i<=100000; i++)
phi[i]=i-1;
for(int i=2; i<=100000; i++)
for(int j=2*i; j<=100000; j+=i)
phi[j]-=phi[i];
}
void sum(){
ifstream f("sum.in");
ofstream g("sum.out");
f>>n;
while(n--){
f>>k;
g<<(long long)2*k*phi[k]<<"\n";
}
}
int main()
{
indiceleLuiEuler();
sum();
return 0;
}