Cod sursa(job #2780828)
Utilizator | Ivan Andrei IvanAndrei | Data | 7 octombrie 2021 21:25:47 |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
const int maxN=100000;
int e[maxN+1];
void euler()
{
for(int i=2;i<=maxN;i++)
e[i]=i;
for(int i=2;i<=maxN;i++)
if(e[i]==i)
for(int j=i;j<=maxN;j+=i)
e[j]=e[j]/i*(i-1);
}
int main()
{
ios::sync_with_stdio(false);
in.tie(0);
out.tie(0);
euler();
int n;
in>>n;
while(n--)
{
int x;
in>>x;
out<<e[x]*x*2*1LL<<'\n';
}
in.close();
out.close();
return 0;
}