Cod sursa(job #730915)

Utilizator an_drey_curentandreycurent an_drey_curent Data 7 aprilie 2012 01:45:13
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
#define NMAX 100005
int N,SOL[NMAX];
void ciur();
void citire()
{
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	ciur();
	scanf("%d",&N);
	while(N--)
	{
		int x;
		scanf("%d",&x);
		printf("%lld\n",1LL * SOL[x] * x * 2);
	}
}
void ciur()
{
	int j,i;
	for(i = 1 ; i<= NMAX; i++)
		SOL[i] = i - 1;
	for(i = 2 ; i<= NMAX; i++)
		for(j = 2 ; j*i<= NMAX; j++)
			SOL[i*j]-=SOL[i];
}
int main()
{
	citire();
	ciur();
	return 0;
}