注册 登录
编程论坛 VC++/MFC

为什么不可以多次循环判断素数,刚开始可以判断,但次数多就不可以了?

面朝大海1994 发布于 2013-04-08 18:14, 547 次点击
#include<iostream>
#include<cmath>
using namespace std;
int main()
{   
int m,n,i;
char flag=1;

cout<<"Please enter the number :\n";
cin>>n;
if(n>0)
m=int (sqrt(n));
while(n!=1)
{   


for(i=2;i<=m;i++)   
{
if(n%i==0)
{
flag=0;

}
}

if(flag==0)
cout<<"The number is not prime\n";


else
cout<<n<<"  :It is prime:"<<endl;   
cin>>n;
}

return 0;
}
1 回复
#2
yuccn2013-04-08 21:40
while(n!=1)
 {
逻辑错误。
之后加上一行初始化flag为1吧。
1