Cod sursa(job #283922)

Utilizator mihneadbDobrescu-Balaur Mihnea mihneadb Data 20 martie 2009 19:02:23
Problema Sum Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <vector>

using namespace std;

int n,x[100100];
int suma;
//int mx;
//vector < bool > ciur(200200);

/*void init(){
	for(int i=2;i<=mx;++i)
		for(int j=i+i;j<=mx;j+=i){
			ciur[j]=1;
		}
}
*/
void citire(){
	scanf("%d",&n);
	for(int i=0;i<n;++i){
		scanf("%d",&x[i]);
		/*if(x[i]>mx)
			mx=x[i];
	*/}
}

int cmmdc(int a, int b){
	int c;
	while (b){
		c=a%b;
		a=b;
		b=c;
	}
	return a;
}

int sol(int asd){
	int prag=asd<<1;
	suma=0;
	for(int i=1;i<=prag;++i)
		if( cmmdc(asd,i)==1 )
			suma+=i;
	return suma;
}

int main(){
	
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	
	citire();
	//init();
	
	for (int i=0;i<n;++i)
		printf("%d\n",sol(x[i]));
	
	return 0;
}