#include <iostream>
using namespace std;
int main() {
long m;
cout<<"输入一个数字:\n";
cin>>m;
for(int i=2;i<m;i++)
if(m%i==0)
break;
if(m==i)
cout<<"m is a prime\n";
else
cout<<"m is't prime\n";
}
输出素数提示i错误如何解决
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
追cium 2023-03-18 23:33关注参考GPT和自己的思路:
在该程序中,输出素数的代码有一个逻辑错误。正确的代码应该是将判断素数的部分放在一个循环中,并在循环结束后进行判断。代码如下所示:
#include <iostream> using namespace std; int main() { long m; cout<<"输入一个数字:\n"; cin>>m; int i; for(i=2;i<m;i++) if(m%i==0) break; if(m==i) cout<<"m is a prime\n"; else cout<<"m is't prime\n"; }这个程序会先询问用户输入一个数字,然后从2开始一直循环到该数字的前一位。在循环中,如果某个数能够被该数字整除,就说明该数字不是素数,跳出循环。如果循环结束后没有找到能够整除该数字的数,则说明该数字是素数。
解决 无用评论 打赏 举报