Pagini recente » Cod sursa (job #726856) | Cod sursa (job #1394598) | Cod sursa (job #2123314) | Cod sursa (job #734485) | Cod sursa (job #1024549)
#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 euler(unsigned y, unsigned u)
{
if (y == 1||u == 1|| !u)
return 1;
if (!(y%2))
return cmmdc(y, u) + euler(y, u - 2);
return cmmdc(y, u) + euler(y, u - 1);
}
int main()
{
unsigned x, cate = 0;
std::ifstream fin("fractii.in");
std::ofstream fout("fractii.out");
fin >> x;
fin.close();
for (unsigned i = 1; i <= x;i++)
cate += euler(i,i -1);
fout << cate * 2 - 1;
fout.close();
}