Cod sursa(job #379187)

Utilizator ProtomanAndrei Purice Protoman Data 30 decembrie 2009 22:35:13
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <algorithm>
#include <stdio.h>

#define MAX 100024

using namespace std;

int testCases;
int phi[MAX];

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

	for (int i = 1; i < MAX; i++)
		phi[i] = i - 1;

	for (int i = 2; i < MAX; i++)
		for (int j = 2 * i; j < MAX; j += i)
			phi[j] -= phi[i];

	for (scanf("%d", &testCases); testCases; testCases--)
	{
		int x;
		scanf("%d", &x);
		
		printf("%lld\n", (long long) x * phi[x] * 2);
	}

	fclose(stdin);
	fclose(stdout);
	return 0;
}