写的求1到n的质数问题,但运行后无论输入n多大,最多只能求到三,(输入2能求到2)
1条回答 默认 最新
关注 #include<iostream> #include<cmath> using namespace std; int main(void){ int n; bool m=1;//m用作判断是否为素数 cin>>n; if(n%2==0&&n!=2||n==1)//排除偶数 m=0 n=sqrt(n); for(int i=3;i<n;i+=2)//1不做考虑,同时判断时不会考虑他本身 if(n%i==0){//能整除 m=0;//标记 break;//退出循环 } if(m) cout<<"是素数"; else cout<<"不是素数"; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报