Cod sursa(job #171616)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 4 aprilie 2008 17:44:43
Problema Sum Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
// http://infoarena.ro/problema/sum
#include <stdio.h>

FILE *fin = fopen("sum.in","r"), *fout = fopen("sum.out","w");

const long nmax = 100000;

long i, j, n, x;
long long T[nmax];

int main()
{
 fscanf(fin, "%ld\n", &n);
 for (i = 1; i <= nmax; i++)
	T[i] = i;
 for (i = 2; i <= nmax; i++)
	if (T[i] == i)
	   for (j = 2 * i; j <= nmax; j+=i)
		{
		 T[j] /= i;
		 T[j] *= (i-1);
		}
 for (i = 1; i <= n; i++)
	{
	 fscanf(fin, "%ld\n", &x);
	 fprintf(fout, "%lld\n", 2 * T[x] * x);
	}
 fcloseall();
 return 0;
}