Pagini recente » Cod sursa (job #2291143) | Cod sursa (job #3179997) | Cod sursa (job #21852) | Cod sursa (job #468071) | Cod sursa (job #1024027)
#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, i, nr = 0, *a;
std::ifstream f("fractii.in");
std::ofstream g("fractii.out");
f >> n;
a = new unsigned[n + 20];
f.close();
for (i = 4; i <= n; i++)a[i] = 0;
for (i = 2; i < n; i++)
{
nr += 2;
for (unsigned k = 2 * i; k <= n; a[k += i] = 1);
for (unsigned j = i + 2; j <= n; j++)
if(!a[j] && cmmdc(i, j))nr+=2;
for (unsigned k = 2 * i; k <= n; a[k += i] = 0);
}
g << 2 * n + nr - 1;
g.close();
}