Cod sursa(job #596646)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 18 iunie 2011 10:27:27
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<stdio.h>
#define N 1000000

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;
}