2到1000以内素数

#include <iostream>
using namespace std;
int main()
{ int i,k;

for(i=2;i<1000;i++)
{for(k=2;k<i-1;k++)

{if(i%k==0)
break;
else
cout<<i<<"\t";}

}
没有错误,但运行不对

return 0;我想知道我错在哪。。

对每个数都执行以下的循环:
{for(k=2;k<i-1;k++)

{if(i%k==0)
break;
else
cout<<i<<"\t";}
以i=11为例,
k值:2 输出11
3 输出11
…………
9 输出11 多次

以i=35为例,
k值:2 输出35
3 输出35
4 输出35
5 退出循环

对于一个素数,要所有的判断都结束以后,才能确定它是素数的。不是每次判断都要输出的。追问

那我的要怎么改呢?

追答

在原题的回答中我已经帮你改好了啊。

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-25