时间:2021-05-20
素数(又称质数):指在大于一的自然数中,只能被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; }声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
什么是求素数素数指的是因子只有1和本身的数(1不是素数),求解素数在数学上应用非常广泛,而求解n以内的素数也是我们编程时常遇到的问题,在这个问题上,筛选法求解素
复制代码代码如下:/***@authorjxqlovedn*埃拉托斯特尼素数筛选法,请参考:http://zh.wikipedia.org/zh-cn/埃拉托斯
本文实例讲述了C++回文数及素数问题计算方法。分享给大家供大家参考,具体如下:?1234567891011121314151617181920212223242
C++实现求小于n的最大素数的实例枚举就是基于已有知识镜像答案猜测的一种问题求解策略问题:求小于n的最大素数分析:找不到一个数学公式,使得根据N就可以计算出这个
vc++和c++的区别是C++是一门语言,duVC++是一个编译工具,VC++使用的是C++语言,其他编译工具也可以集成C++语言,如DEV-C++。 C++