Pagini recente » Cod sursa (job #2260896) | Cod sursa (job #2307015) | Cod sursa (job #914634) | Cod sursa (job #2036809) | Cod sursa (job #1024029)
#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[1000000];
std::ifstream f("fractii.in");
std::ofstream g("fractii.out");
f >> n;
f.close();
for (i = 4; i <= n; i++)a[i] = 0;
for (i = 2; i < n; i++)
{
for (unsigned k = i<<1; k <= n; a[k += i] = 1);
for (unsigned j = i + 2; j <= n; j++)
nr += 2 * (!a[j] && cmmdc(i, j));
for (unsigned k =i<<1; k <= n; a[k += i] = 0);
}
g << nr - 1+ (n-1) << 2;
g.close();
}