这是我的任务:素数是一个大于 1 的数,它只能被 1 和它自己整除。对于这个作业,您会发现从 2 到 n(其中 n 是用户指定的数字)中的哪些数字是素数。
向用户询问一个大于 2 的数字 n。继续询问一个数字,直到提供一个大于 2 的数字。假设用户只会输入数字(也就是说,您不需要检查用户是否输入了文本)。
使用循环从 2 到 n 迭代变量 i。对于每次迭代,检查从 2 到 i 的所有数字以确定该数字是否为素数。如果是素数,打印出 i 和单词“素数”。
使用模运算符 % 来确定一个数是否为素数
这是我到目前为止所拥有的。它不起作用。我不知道为什么。请帮忙,我是一名将基本编程作为选修课的商科学生。
#include <iostream>
using namespace std;
int main()
{
int n;
int i;
int x;
while (n<=2)
{
cout << "Enter a number greater then 2: \n";
cin >> n;
for (x=n; x>=2; x--)
{
bool prime = false;
for (i=2; i<x; i++)
{
if (x%i==0)
{
prime = true;
}
}
if (prime==false)
{
cout << x << " Prime.\n";
}
}
}
return 0;
}