【例】输入一个数字,判断其是不是素数
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
}