Cod sursa(job #138356)

Utilizator Adriana_SAdriana Sperlea Adriana_S Data 18 februarie 2008 13:53:13
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>

const int N_MAX = 100010;

long long phi[N_MAX];

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

	int N = 100000, i, j;

	for (i = 1; i <= N; i ++) phi[i] = i;

	for (i = 2; i <= N; i ++) {
		if (phi[i] == i) {
			for (j = i; j <= N; j += i) {
				phi[j] /= i, phi[j] *= (i - 1);
			}
		}
	}

	int X;
	for (scanf("%d\n", &N); N; N --) {
		scanf("%d\n", &X);

		printf("%lld\n", (long long) 2 * phi[X] * X);
	}

	return 0;
}