Cod sursa(job #286285)

Utilizator swift90Ionut Bogdanescu swift90 Data 23 martie 2009 17:21:11
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
int nr[100100];
char s[10];
int main(){
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	int n,x,i,j;
	scanf("%d",&n);
	for(i=2;i<=100010;++i)
		nr[i]=i;
	for(i=2;i<=100010;++i){
		if(nr[i]==i){
			for(j=i;j<=100010;j+=i)
				nr[j]=(nr[j]/i)*(i-1);
		}
	}
	fgets(s,10,stdin);
	for(i=0;i<n;++i){
		fgets(s,10,stdin);
		x=0;
		for(j=0;'0'<=s[j] && s[j]<='9';++j)
			x=x*10+s[j]-'0';
		printf("%lld\n",2*(long long)x*nr[x]);
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}