素数定义为 一个数从除以2到次数开方的值均无法整除则此数为素数。
①判断是否为素数:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,k,i;
bool prime;
cin>>m;
prime=true;
k=int(sqrt(m));
for(i=2;i<=k;i++)
{
if(m%i==0)
{
prime=false;
break;
}
}
if(prime)
cout<<m<<"是素数。"<<endl;
else
cout<<m<<"不是素数。"<<endl;
return 0;
}
②输出一定范围内的素数:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,b,m,k,i,n=0;
bool prime;
cout<<"请输入所求范围:";
cin>>a>>b;
cout<<a<<'~'<<b<<"素数有:"<<endl;
for(m=a;m<=b;m++)
{
prime=true;
k=int(sqrt(m));
for(i=2;i<=k;i++)
{
if(m%i==0)
{
prime=false;
break;
}
}
if(prime)
{
cout<<m<<" ";
n+=1;
}
if(n%10==0)
cout<<endl;
}
cout<<endl;
return 0;
}
③ 循环判断素数:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,k,i;
bool prime;
char ch='Y';
while(ch=='Y'||ch=='y')
{
cout<<"请输入一个数:";
cin>>m;
prime=true;
k=int(sqrt(m));
for(i=2;i<=k;i++)
{
if(m%i==0)
{
prime=false;
break;
}
}
if(prime)
cout<<m<<"是一个素数"<<endl;
else
cout<<m<<"不是一个素数"<<endl;
cout<<"是否继续判断素数,是则输入Y(不区分大小写),退出则输入其他字符:";
cin>>ch;
}
return 0;
}