赞
踩
方法一:
- #include<iostream>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- int i;
- if(n<2) return 0;
- for(i=2;i<n;++i){
- if(n%i==0){
- cout<<"您输入的数不是质数!!" ;
- break; //跳出整个for循环,程序结束
- }
- else
- cout<<n<<"是质数"<<endl;
- break;
- }
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
方法二:
- #include<iostream>
- using namespace std;
- int main()
- {
- int n=0;
- cin>>n;
- int i;
- bool flag = true; //给flag标签设置布尔类型
- if(n == 2) flag = false;//如果输入的数字是“2”,那么将flag设置为false
- for(i=2;i<n;++i){
- if(n%i==0){ //如果被除了1和它本身以外的数整除,则不是质数,并跳出循环
- flag = false;
- break; //跳出整个for循环,程序结束
- }
- }
- if(flag)
- cout<<n<<"是质数"<<endl;
- else
- cout<<n<<"不是质数"<<endl;
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
(谢谢各位小伙伴斧正,文末分析之前出现的错误)
质数也叫做素数,是指一个数除1和它本身外,没有其他的除数。
什么?让我说人话?
好嘞哥儿。
比如:2 , 3 , 5 , 7属于质数;
而4 ,6 , 8不属于质数,
因为
如果还不明白欢迎撩我~
原创不易,各位客官,点个不要钱的赞吧。
得嘞,您慢走~
以下是之前的代码,错误在于第一个if下面没有加引号,导致算法无法执行break语句
- #include<iostream>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- int i;
- for(i=2;i<n;++i){
- if(n%i==0)
- cout<<"您输入的数不是质数!!" ;
- break; //跳出整个for循环,程序结束
- }
- if(n%i!=0)//此时的i是执行完for循环后的i,且没有执行break
- cout<<n<<"是质数"<<endl;
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。