Cod sursa(job #448108)
Utilizator | Petru Trimbitas S7012MY | Data | 2 mai 2010 18:44:39 |
---|---|---|---|
Problema | Sum | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <iostream>
using namespace std;
const long long n=100000;
long long m,d=-1,phi[1000001];
inline void euler() {
int rezultat=0,i,j;
for (i = 1; i <= n; ++i)
phi[i] = i-1;
for (i = 2; i <= n; ++i) {
for (j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
}
}
int main()
{
int i,x;
ifstream f ("sum.in");
ofstream g("sum.out");
f>>m;
euler();
for(i=0; i<m; i++) {
f>>x;
g<<2*phi[x]*x<<"\n";
}
f.close();
g.close();
return 0;
}