缘由c++数素数,请输出 PM到PN的所有素数-编程语言-CSDN问答
int PM = 5, PN = 27, g = 0, q = 1, s = 2, h = 0;
//std::cin >> PN >> PN;
for (; PN > g;)
if (++q <= s / q)
if (s - s / q*q == 0)
{
++s;
q = 1;
}
else;
else
{
if (++g >= PM)
std::cout << s << (++h % 10 == 0 || g == PN ? "\n" : " ");
++s;
q = 1;
}
优化
int PM = 5, PN = 27, g = 0, q = 2, s = 2, h = 0;
//std::cin >> PN >> PN;
for (; PN > g;)
if (q <= s / q)
if (s - s / q*q == 0)
{
s += (s > 2 ? 2 : 1);
q = (s > 2 ? 3 : 2);
}
else q += (s > 2 ? 2 : 1);
else
{
if (++g >= PM)
std::cout << s << (++h % 10 == 0 || g == PN ? "\n" : " ");
s += (s > 2 ? 2 : 1);
q = (s > 2 ? 3 : 2);
}
int PM = 5, PN = 27, g = 0, q = 2, s = 2, h = 0;
scanf_s("%d%d", &s, &PN);
for (; PN > s;)
if (q <= s / q)
if (s - s / q*q == 0)
{
s += (s > 2 && s - s / 2 * 2 > 0 ? 2 : 1);
q = (s > 2 ? 3 : 2);
}
else q += (s > 2 ? 2 : 1);
else
{
printf_s("%d", s);
printf_s(++h % 10 == 0 || s == PN ? "\n" : " ");
s += (s > 2 && s - s / 2 * 2 > 0 ? 2 : 1);
q = (s > 2 ? 3 : 2);
}
验证题主代码问题
int i = 1, j = 2;
while (++i < 10)
{
while (j<sqrt(i))
{
if (i % j == 0)
break;
++j;
}
cout << i << "=" << (j > sqrt(i)) << "\t";
}

1628

被折叠的 条评论
为什么被折叠?



