Nu exista pagina, dar poti sa o creezi ...
Cod sursa(job #676349)
| Utilizator | Data | 9 februarie 2012 00:34:07 | |
|---|---|---|---|
| Problema | Sum | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
#define maxN 200005
int N , X , phi[maxN];
void ciur ()
{
for(int i = 1 ; i <= maxN ; ++i)
phi[i] = i - 1;
for(int i = 2 ; i <= maxN ; ++i)
for(int j = i + i ; j <= maxN ; j += i)
phi[j] -= phi[i];
}
int main ()
{
freopen ("sum.in" , "r" , stdin);
freopen ("sum.out" , "w" , stdout);
scanf ("%d" , &N);
long long sol;
ciur ();
for (int i = 1 ; i <= N ; ++i)
{
scanf ("%d" , &X);
/*for (int i = 1 ; i <= 2 * X ; ++i)
cout << phi[i] << " ";
cout << "\n";*/
sol = X * phi[X] * 2;
printf ("%lld\n" , sol);
}
return 0;
}
