Cod sursa(job #148496)

Utilizator tvladTataranu Vlad tvlad Data 4 martie 2008 13:46:04
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <cstdio>

const int N = 100000;

long long phi[N];

int main() {
	freopen("sum.in","rt",stdin);
	freopen("sum.out","wt",stdout);
	for (int i = 1; i <= N; ++i) phi[i] = i;
	for (int i = 2; i <= N; ++i) {
		if (phi[i] == i) {
			for (int j = 1; i*j <= N; ++j) {
				phi[i*j] /= i;
				phi[i*j] *= (i-1);
			}
		}
	}

	int n = 0;
	for (scanf("%d",&n); n; --n) {
		int x = 0;
		scanf("%d",&x);
		printf("%lld\n",(long long)2*x*phi[x]);
	}
	return 0;
}