Cod sursa(job #1778720)

Utilizator MickeyTurcu Gabriel Mickey Data 13 octombrie 2016 23:58:34
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream>
#include<string.h>
#include<ctype.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<unordered_map>
#include<array>
#include<deque>
#include<math.h>
#include<unordered_set>
#include<set>
#include<iomanip>
#include<bitset>
using namespace std;
long long euler[200100];
bool ciur[200200];
int n, x,i,sum,j;
void formciur()
{
	for (i = 2; i*i <= 200000; i++)
	{
		if (ciur[i] == true)
			continue;
		else
			for (j = i*i; j <= 200000; j += i)
				ciur[j] = true;
	}
}
int main()
{
	//ifstream f("file.in");
	//ofstream g("file.out");
	ifstream f("sum.in");
	ofstream g("sum.out");	
	ciur[1] = true;
	formciur();
	for (i = 1; i <= 200000; i++)
		euler[i] = i;
	for (i = 2; i <= 200000; i++)
	{
		if (ciur[i] == true)
			continue;
		else
			for (j = i; j <= 200000; j += i)
				euler[j] -= euler[j] / i;
	}
	f >> n;
	while (n)
	{
		f >> x;
		sum = euler[x] * x*2LL;
		g << sum << '\n';
		n--;
	}
	return 0;
}