Cod sursa(job #782253)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 26 august 2012 14:43:37
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb

#include <cstdio>

const unsigned int MAX_NUMBER(100000);

unsigned int v [MAX_NUMBER + 1];

int main (void)
{
	std::freopen("sum.in","r",stdin);
	std::freopen("sum.out","w",stdout);
	unsigned int i, j, t, x;
    for(i = 1; i <= MAX_NUMBER; ++i)
		v[i] = i;
	for(i = 2; i <= MAX_NUMBER; ++i)
		if(v[i] == i)
			for(j = i ; j <= MAX_NUMBER ; j += i)
			{
				v[j] /= i;
				v[j] *= (i - 1);
			}
	std::scanf("%d",&t);
	do
	{
		std::scanf("%d",&x);
		std::printf("%lld\n", (static_cast<unsigned long long>(x) << 1) * v[x]);
		--t;
	}
	while (t);
	std::fclose(stdin);
	std::fclose(stdout);
	return 0;
}