Pagini recente » Cod sursa (job #1626907) | Cod sursa (job #2368934) | Istoria paginii runda/oji2017cls9sim | Cod sursa (job #2102742) | Cod sursa (job #1024565)
#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();
}