Cod sursa(job #1833806)

Utilizator cyprcCristea Ciprian - Raul cyprc Data 23 decembrie 2016 10:56:16
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<math.h>

bool divComun(int a, int b)
{
	int c;
	a < b ? c = b : c = a;
	if (a%b == 0 || b%a == 0) return true;
	if (a % 2 == 0 && b % 2 == 0) return true;
	for (int i = 3; i <=c/2; i+=2)
	{
		if (a%i == 0 && b%i == 0) return true;
	}
	return false;
}

int indicEuler(int a)
{
	int nr=1;
	for (int i = a; i >= 1; i--){
		if (!divComun(a, i)) nr++;
	}
	return nr;
}

int main()
{
	std::ifstream f("fractii.in");
	std::ofstream g("fractii.out");
	int n;
	f >> n;
	f.close();
	int nr = 0;
	for (int i = 1; i <= n; i++)
	{
		nr += indicEuler(i);
	}
	g << 2*nr-1;
	g.close();
	return 0;
}