Cod sursa(job #532694)

Utilizator toniobFMI - Barbalau Antonio toniob Data 12 februarie 2011 11:24:44
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;

ifstream in ("sum.in");
ofstream out ("sum.out");

const long long N = 1 << 17;
long long n, x;
long long phi[N];

void ciur () {
	for (long long i = 0; i < N; ++i) {
		phi[i] = i;
	}
	for (long long i = 2; i < N; ++i) {
		if (phi[i] != i) {
			continue;
		}
		for (long long j = i * i ;  j < N; j += i) {
			phi[j] = phi[j] / i * (i - 1);
		}
	}
}

void citire () {
	ciur ();
	
	in >> n;
	for (long long i = 1; i <= n; ++i) {
		in >> x;
		out << 2 * x * phi[x] << '\n';
	}
}

int main () {
	citire ();
	
	return 0;
}