Cod sursa(job #1614690)

Utilizator teodor440Teodor Tonghioiu teodor440 Data 26 februarie 2016 01:22:07
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#include <stdlib.h>

//merci pauldb de solutie :)

using namespace std;

long long phi[100001], n;

int main()
{
	int i, j;
	long long x;
	FILE *dinuin, *dinuout;
	dinuin = fopen("sum.in", "r");
	dinuout = fopen("sum.out", "w");
	fscanf(dinuin, "%lld", &n);

	for (i = 1; i <= 100000; i++) phi[i] = i;

	for (i = 2; i <= 100000; i++)
		if (phi[i] == i)
			for (j = i; j <= 100000; j += i) phi[j] = phi[j] / i * (i - 1);

	for (i = n; i > 0; i--) {
		fscanf(dinuin, "%lld", &x);
		fprintf(dinuout, "%lld\n", phi[x] * 2 * x);
	}

	return 0;
}