Cod sursa(job #219294)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 6 noiembrie 2008 12:54:44
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<stdio.h>
#define N 200005
int e[N];
void euler(){
	int i,j;
	for(i=2;i<N/2;++i)
		if(e[i]==i)
			for(j=i;j<N;j+=i)
				e[j]=e[j]/i*(i-1);
}

int main(){
	int n,i,x;
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	for(i=1;i<N;++i)
		e[i]=i;
	scanf("%d",&n);
	euler();
	for(;n;--n){
		scanf("%d",&x);
		printf("%lld\n",(long long)(2*(e[x]*x)));
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}