c++素数筛选法

c++素数筛选法,第1张

概述素数(又称质数):指在大于一的自然数中,只能被1和它自身整除的自然数;

素数(又称质数):指在大于一的自然数中,只能被1和它自身整除的自然数;

素数筛选法是指一种非常规的素数判定方法,比较高效率;

原理:任何数的整数倍必定不是素数,大于二的偶数必定不是素数。

我们以找出100以内的素数为例,利用原理,我们可以首先排除偶数是素数,然后进一步判断奇数

实现将偶数标记为0,素数标记为1;(也可以用一个bool数组将偶数标记为false,奇数标记为true)

下面是全部代码

#include <iostream>#include <cmath>#define MAX 100 using namespace std;int main(){      //设置标记,将偶数标记为0       int prime[MAX+1];      for(int i=1;i<=MAX;i++)      {        if(i%2==0)        {          prime[i]=0;        }        else prime[i]=1;      }            for(int i=3;i<=sqrt(MAX);i++)      {        if(prime[i]==1)        {          for(int j=i+i;j<=MAX;j=j+i)          {              prime[j]=0;          }        }      }          cout<<"2"<<" ";      for(int i=3;i<=MAX;i++)      {        if(prime[i]==1)        cout<<i<<" ";      }  return 0;  } 
总结

以上是内存溢出为你收集整理的c++素数筛选法全部内容,希望文章能够帮你解决c++素数筛选法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1245033.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存