Cod sursa(job #1071445)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 2 ianuarie 2014 23:05:04
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
using namespace std;

#define NMAX 100001

int nr, X, nrPrimeCuX[NMAX];

int main()
{
	freopen("sum.in", "r", stdin);
	freopen("sum.out", "w", stdout);

	scanf("%d", &nr);

	for(int i = 2; i < NMAX; ++i)
		nrPrimeCuX[i] = i-1;
	
	for(int i = 2; i < NMAX; ++i)
		for(int multipluI = 2 * i; multipluI < NMAX; multipluI += i)
		{
			nrPrimeCuX[multipluI] -= nrPrimeCuX[i];
		}

	for(int i = 1, X; i <= nr; ++i)
	{
		scanf("%d", &X);
		printf("%lld\n", (long long) 2 * X * nrPrimeCuX[X]);
	}

	return 0;
}