Pagini recente » Borderou de evaluare (job #1504306) | Borderou de evaluare (job #2220503) | Cod sursa (job #466704) | Cod sursa (job #2774896) | Cod sursa (job #1024018)
#include<fstream>
bool cmmdc(unsigned i, unsigned j)
{
if (!i)return j == 1;
if (!j)return i == 1;
return cmmdc(j, i%j);
}
int main()
{
unsigned n, nr = 0, a[1000000];
std::ifstream f("fractii.in");
std::ofstream g("fractii.out");
f >> n;
f.close();
for (unsigned i = 2; i <=n; i++)
{
for (unsigned k = 2 * i; k <= n; a[k] = 0, k += i);
for (unsigned j = i + 1; j <= n; j++)
nr += 2 * (a[j] && cmmdc(i, j));
for (unsigned k = 2 * i; k <= n; a[k] = 1, k += i);
}
g << 2 * n + nr - 1;
g.close();
}