这篇文章主要为大家介绍一个算法,素数筛法。
想必小伙伴们大家最常用的算法就是很常规的素数算法。在下面给出代码。
//////C++实现,如果有人不会C实现的版本请联系我,我写完给你看
//////如果有小伙伴不理解代码请留言
/////////////////////// 以下是求单个素数版本
//功能:输入num判断num是否为素数
#include<iostream>
#include<math.h> //这个是用于后面的sqrt()函数
using namespace std;
/// 单个素数怎么判定的算法,如果正确就返回1
int IsPrime(int num){
int i;
for(i=2;i<sqrt(num);i++) //数学上证明了只需要到sqrt就可以了
{
if(num%i==0){
return 0;
}
}
return 1;
}
void main()
{
int num;
cin>>num; //cin相当于C语言中的scanf
if(IsPrime(num)){
cout<<"该数是素数"<<endl; //cout相当于C语言中的printf
}