Cod sursa(job #596647)
Utilizator | Valentin Harsan valentin.harsan | Data | 18 iunie 2011 10:27:54 |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
#define N 100000
int n,a,e[N+1];
int main() {
int w,i,j;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&n);
for(i=2;i<=N;++i)
e[i]=i;
for(i=2;i<=N;++i)
if(e[i]==i)
for(j=i;j<=N;j+=i)
e[j]=e[j]/i*(i-1);
for(w=1;w<=n;++w) {
scanf("%d",&a);
if(a==1) {
printf("1\n");
continue;
}
printf("%d\n",e[a]*2*a);
}
return 0;
}