【发布时间】:2021-09-25 16:27:27
【问题描述】:
正在尝试实施埃拉托色尼筛法以查找最大为 100 的所有素数。产品似乎没有改变。是什么原因?
#include <iostream>
#include <vector>
int main()
{
int counter = 0;
int multicand = 2;
std::vector<int> non_prime;
for (int product = multicand * 2; product < 100; multicand++){
std::cout << product << '\n' << multicand << '\n';
counter++;
if (counter == 50) return 0;
}
}
【问题讨论】:
-
你在哪里改?
-
可能在
std::cout中说product++;你的意思是增加multicand? -
我在for-statement初始化中指定了产品
-
因为没有声明要更新
product。您可能需要将multicand++更改为product = ++multicand * 2。 -
谢谢大家,我现在明白了
标签: c++ infinite-loop