Cod sursa(job #774380)
| Utilizator | Data | 4 august 2012 15:22:47 | |
|---|---|---|---|
| Problema | Sum | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<fstream>
#define NN 100001
using namespace std;
ofstream out("sum.out");
int ciur[NN],n;
void inainte();
int main()
{
ifstream in("sum.in");
inainte();
in>>n;
for(int x ; n ;--n)
{
in>>x;
out<<1LL* (ciur[x] << 1 ) *x<<'\n';
}
return 0;
}
void inainte()
{
for(int i=1;i<NN;++i)
ciur[i]=i-1;
for(int i=2;i<NN;++i)
for(int j= (i << 1 ) ;j<NN;j+=i)
ciur[j]-=ciur[i];
}
