Pagini recente » Cod sursa (job #2516) | Cod sursa (job #2094290) | Cod sursa (job #2803504) | Cod sursa (job #2472088) | Cod sursa (job #1024755)
#include <fstream>
bool cmmdc(unsigned i, unsigned j)
{
if (i && j)
return cmmdc(j, i%j);
return j == 1 || i == 1;
}
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<2)
return 1;
return cmmdc(y, u) + eulerp(y, u - 2);
}
void main()
{
unsigned n, x = 0;
std::ifstream f("fractii.in");
f >> n;
f.close();
for (unsigned i = 1; i <= n; i += 2)
x += euleri(i, i - 1) + eulerp(i + 1, i);
x += (x % 2) ? euleri(x, x - 1) :0;
std::ofstream g("fractii.out");
g << x * 2 - 1;
g.close();
}