Pagini recente » Cod sursa (job #599104) | Cod sursa (job #2798662) | Cod sursa (job #1952342) | Cod sursa (job #3031582) | Cod sursa (job #1024574)
#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 || u == 1)
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();
}