算法一:一般来说我们都会选择用这种方法,就是让这个数n对2到n-1的没一个数进行除法运算,若存在能整除n的数,则n不是素数,反之则为素数。
#include<iostream>
using namespace std;
int main()
{
int n,p=0;
cin>>n;
for(int i=2;i<n;i++)
{
if(n%2==0)
{
p=1;
break;
}
}
if(p==0)
cout<<"这个数是素数"<<endl;
else
cout<<"这个数不是素数"<<endl;
return 0;
}
算法二:(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数;并且大于2的偶数都不是素数
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,p=0,mid;
cin>>n;
mid=sqrt(n);
if(n>2&&n%2==0)
p=1;
else
{
for(int i=2;i<=mid;i++)
{
if(n%2==0)
{
p=1;
break;
}
}
}
if(p==0)
cout<<"这个数是素数"<<endl;
else
cout<<"这个数不是素数"<<endl;
return 0;
}