Mai intai trebuie sa te autentifici.
Cod sursa(job #2212565)
| Utilizator | Data | 14 iunie 2018 13:46:55 | |
|---|---|---|---|
| Problema | Sum | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <iostream>
#include <cstdio>
#define MAX 100000
using namespace std;
int e[MAX+1];
void Euler() {
int i,j;
for(i=2;i<=MAX;i++)
e[i]=i;
for(i=2;i<=MAX;i++)
if(e[i]==i)
for(j=i;j<=MAX;j+=i)
e[j]=e[j]/i*(i-1);
}
int main() {
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int n,nr,i;
scanf("%d",&n);
Euler();
for(i=1;i<=n;i++) {
scanf("%d",&nr);
cout<<1LL*e[nr]*nr*2<<'\n';
}
return 0;
}
