Mai intai trebuie sa te autentifici.
Cod sursa(job #982541)
Utilizator | Data | 9 august 2013 14:08:40 | |
---|---|---|---|
Problema | Sum | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
#define Nmax 100001
long long ciur[Nmax], n, nr, i, l;
void gen()
{
for ( int i = 2; i <= Nmax; ++i )
ciur[i] = i - 1;
for ( int i = 2; i <= Nmax; ++i )
{
for ( int j = i << 1; j <= Nmax; j += i )
ciur[j] -= ciur[i];
}
}
int main()
{
ifstream f("sum.in");
ofstream g("sum.out");
gen();
f >> n;
for ( ; n; n-- )
{
f >> nr;
g << ciur[nr]*2*nr*1LL << "\n";
}
f.close();
g.close();
return 0;
}