#include<iostream> #include<algorithm> #include<math.h> int prime(int n) { int i; if(n==0||n==1) return 0; if(n==2) return 1; for(i=2;i<n;i++) { if(n%i==0) return 0; } if(n>=i) return 1; } using namespace std; int main() { int n; while(cin>>n) { if(prime(n)) cout<<"素数"<<endl; else cout<<"不是素数"<<endl; } return 0; }
楼主你好,我今天调试运行了你的代码,当测试数字为45或49时,输出结果是‘1’,这明显是不对的(估计还有其它数字),望楼主及时纠正,,今后多多指教哦