Pagini recente » Borderou de evaluare (job #2051207) | Cod sursa (job #392391) | Cod sursa (job #2823677) | Cod sursa (job #306549) | Cod sursa (job #2783752)
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
int F[100001];
void ciur()
{
for(int i =1 ; i <= 100000 ; i ++)
F[i] = i;
for(int i = 2; i <= 100000 ; i ++)
if(F[i] == i)
{
F[i] --;
for(int j =2 ; j * i <= 100000 ; j ++)
F[j * i]= F[j * i] / i * (i - 1);
}
}
int main()
{
int n;
in>>n;
ciur();
for(int q=1;q<=n;q++)
{
int x;
in>>x;
long long s=0;
s=2*(long long)x*F[x];
//out<<endl;
out<<s<<'\n';
// for(int i=0;i<=2*x;i++)
// a[i]=0;
}
}