Cod sursa(job #1043022)

Utilizator pulseOvidiu Giorgi pulse Data 27 noiembrie 2013 21:50:38
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <cstring>
#define NMAX 100010

using namespace std;

long long n, phi[NMAX], x;

void solve_phi ()
{
	int i,j;
	for (i=1; i<=NMAX; ++i)
		phi[i]=i-1;
	for (i=2; i<=NMAX; ++i)
	{
		for (j=2*i; j<=NMAX; j+=i)
			phi[j]-=phi[i];
	}
}

int main ()
{
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	scanf ("%d", &n);
	solve_phi ();
	for (int i=1; i<=n; ++i)
	{
		scanf ("%lld", &x);
		printf ("%lld\n", 2*phi[x]*x);
	}
	return 0;
}