Mai intai trebuie sa te autentifici.
Cod sursa(job #447755)
| Utilizator | Data | 30 aprilie 2010 22:10:31 | |
|---|---|---|---|
| Problema | Sum | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <cstdio>
#include <iostream>
using namespace std;
long long m,n=100000,max,sq,d=-1,phi[1000001];
inline void euler() {
int rezultat=0;
for (int i = 1; i <= n; ++i)
phi[i] = i-1;
for (int i = 2; i <= n; ++i) {
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
}
}
int main()
{
int i,x;
FILE *f=fopen("sum.in","r");
FILE *g=fopen("sum.out","w");
fscanf(f,"%lld",&m);
euler();
for(i=0; i<m; i++) {
fscanf(f,"%d",&x);
fprintf(g,"%lld\n",2*phi[x]*x);
}
fclose(f);
fclose(g);
return 0;
}
