Cod sursa(job #1071424)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 2 ianuarie 2014 22:47:55
Problema Sum Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
using namespace std;

#define NMAX 100001

int nr, X, nrPrimeCuX[NMAX];

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

	cin >> 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; i <= nr; ++i)
	{
		cin >> X;
		cout << (long long) 2 * X * nrPrimeCuX[X] << endl;
	}

	return 0;
}