Cod sursa(job #188267)

Utilizator scvalexAlexandru Scvortov scvalex Data 7 mai 2008 17:55:21
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;

int N, X;

long long phi[200001];

int main(int argc, char *argv[]) 
{
	for (int i(1); i < 200001; ++i)
		phi[i] = i;
	for (int i(2); i < 200001; ++i)
		if (phi[i] == i)
			for (int j = i; j < 200001; j += i) {
				phi[j] /= i;
				phi[j] *= i-1;
			}

	FILE *fi = fopen("sum.in", "r");
	fscanf(fi, "%d", &N);
	FILE *fo = fopen("sum.out", "w");
	while (N--) {
		fscanf(fi, "%d", &X);
		fprintf(fo, "%lld\n", 2*phi[X]*X);
      	}
	fclose(fo);
	fclose(fi);

	return 0;
}