Cod sursa(job #633912)

Utilizator sebii_cSebastian Claici sebii_c Data 15 noiembrie 2011 03:01:11
Problema Sum Scor 95
Compilator c Status done
Runda Arhiva de probleme Marime 0.43 kb
#include <stdio.h>
#define NMAX 100010

int s[NMAX];

void sieve()
{
	int i, j;
	for (i=1; i<=NMAX; ++i)  
		s[i] = i-1;
	
	for (i=1; i<=NMAX; ++i)
		for (j = i+i; j<=NMAX; j+=i) 
			s[j] -= s[i];
		
}

int main()
{
	freopen("sum.in", "r", stdin);
	freopen("sum.out", "w", stdout);
	sieve();
	int n, x;
	scanf("%d", &n);
	while (n--) {
		scanf("%d", &x);
		printf("%lld\n", 1ll*2*s[x]*x);
	}
	return 0;
}