Cod sursa(job #395027)
| Utilizator | Data | 11 februarie 2010 23:00:45 | |
|---|---|---|---|
| Problema | Sum | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream>
#define inf "sum.in"
#define outf "sum.out"
#define MAX 100010
using namespace std;
fstream f(inf,ios::in),g(outf,ios::out);
int N,X;
long long phi[MAX];
//bool uz[MAX];
int main()
{
long long i,j,sum;
for(i=1;i<=MAX;i++)phi[i]=i-1;
for( i=2;i<=MAX;i++)
if( 2*i <= MAX )
for(j=2*i;j<=MAX;j+=i) phi[j]-=phi[i];
f>>N;
for(int i=1;i<=N;i++)
{
f>>X;
sum=2*X*phi[X];
g<< sum <<"\n";
}
f.close();
g.close();
return 0;
}
