Cod sursa(job #992847)
Utilizator | Data | 2 septembrie 2013 17:33:08 | |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<fstream>
#include<algorithm>
using namespace std ;
ifstream fin("sum.in");
ofstream fout("sum.out");
#define maxn 100001
int phi[maxn] ;
int N ;
int main()
{
for(int i = 1; i <= maxn; ++i )
phi[i] = i - 1 ;
for(int i = 2; i <= maxn; ++i )
for(int j = 2 * i; j <= maxn; j += i )
phi[j] -= phi[i] ;
fin >> N ;
while( N-- )
{
int X ;
fin >> X ;
long long sol = ( long long )( X * phi[X] * 2 ) ;
fout << sol << "\n" ;
}
return 0 ;
}