【C++】第4章:(二)素数算法问题中的break,continue和标记变量

【例】输入一个数字,判断其是不是素数

1.求素数方法一

问题分析
如果m>2,m是素数的条件是不能被2,3,…m-1整除不能被2,3,k(k为不大于根号m整整)

#include <iostream> 
#include <cmath>
using namespace std;
int main ()
{
 int m,i;
 cout<<"输入整数m:"<<endl;
 cin>>m;
 if(m==2) cout<<"是素数"<<endl;
 else 
 {
  for(i=2;i<=sqrt(m*1.0);i++)
  if(m%i==0) {
   cout<<"不是素数"<<endl;
   return 0; 
  }
  cout<<m<<"是素数"<<endl; 
  } 
 return 0;
}

2.求素数方法二

素数算法使用标志变量

标志变量是用来表示计算机所处的状态,int flag=1;//表示m是素数

#include <iostream> 
#include <cmath>
using namespace std;
int main ()
{
 int i,m,flag=1;//假定m是素数
 cin>>m;
 for(i=2;i<=sqrt(m);i++)
 if(m%i==0)
 {
  flag=0;
  break;//跳出循环,执行循环语句的下一个语句 
  } 
  if(flag==1)
  cout<<m<<"是素数"<<endl;
  else cout<<m<<"不是素数"<<endl;  
 return 0;
}

3.break&continue

break: 无条件地结束switch语句,或循环语句
continue:用于循环体中,终止当前一次循环

【例】输出1~100内3的倍数
continue 的用法
穷举法

for(int i=1;i<=100;i++)
{
 if(i%3!=0) continue;//i不是3的倍数,转向下一次循环 
 cout<<i<<'\t';//是3的倍数,输出i
}
发布了19 篇原创文章 · 获赞 0 · 访问量 219

猜你喜欢

转载自blog.csdn.net/weixin_44825297/article/details/104992328
今日推荐