Cod sursa(job #732712)
Utilizator | Data | 10 aprilie 2012 19:58:02 | |
---|---|---|---|
Problema | Sum | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<iostream>
#include<fstream>
#define nmax 100010
using namespace std;
int ciur[nmax];
ifstream in("sum.in");
ofstream out("sum.out");
int main()
{
int n,x,i,j;
long long rez;
for(i=1;i<=100000;i++)
ciur[i]=i;
for(i=2;i<=100000;i++)
if(ciur[i]==i)
for(j=i;j<=100000;j+=i)
ciur[j]=(long long)ciur[j]*(i-1)/i;
for(in>>n;n;--n){
in>>x;
rez=(long long)ciur[x]*x<<1;
out<<rez<<"\n";
}
return 0;
}