我在这里有代码让程序列出从 3 到 100 的所有素数。我的主要问题是程序只打印出三个。我认为由于某种原因它正在离开循环或其他东西。我在 for 语句中放了一个 break ,让它在发现数字不是素数时立即离开内部 for 循环,以便它可以打印出来。但是,它似乎不起作用。
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
int main()
{
bool prime = true;
for (int x = 3; x <= 100; x++)
{
for (int y = 2; y <= (x - 1); y++)
{
if ((x % y) == 0)
prime = false;
break;
}
if (prime == true)
cout<<x<<endl;
}
getche();
return 0;
}