Cod sursa(job #286866)

Utilizator mihneadbDobrescu-Balaur Mihnea mihneadb Data 24 martie 2009 11:40:47
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

int ciur[100100];
int n,mx;

void citire(){
	int x;
	scanf("%d",&n);
	for(int i=0;i<n;++i){
		scanf("%d",&x);
		if(mx<x)
			mx=x;
	}
}

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