Cod sursa(job #1024565)

Utilizator alabala1vali smerica alabala1 Data 8 noiembrie 2013 20:20:36
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <cmath>
bool cmmdc(unsigned i, unsigned j)
{
	if (!i)
		return j == 1;
	if (!j)
		return i == 1;
	return cmmdc(j, i%j);
}
unsigned euleri(unsigned y, unsigned u)
{
	if (y == 1 || u == 1)
		return 1;
	return cmmdc(y, u) + euleri(y, u - 1);
}
unsigned eulerp(unsigned y, unsigned u)
{
	if (!u)
		return 1;
	return cmmdc(y, u) + eulerp(y, u - 2);
}
int main()
{
	unsigned x, cate = 0;
	std::ifstream f("fractii.in");
	std::ofstream g("fractii.out");
	f >> x;
	f.close();
	for (unsigned i = 2; i <= x;i+=2)
		cate += eulerp(i,i -1);
	for (unsigned i = 1; i <= x; i += 2)
		cate += euleri(i, i - 1);
	g << cate * 2 - 1;
	g.close();
}