等差素数列(存疑)

编程入门 行业动态 更新时间:2024-10-28 09:24:53

等差<a href=https://www.elefans.com/category/jswz/34/1764940.html style=素数列(存疑)"/>

等差素数列(存疑)

标题:等差素数列2,3,5,7,11,13,....是素数序列。
类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。
上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。
这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。

该题的思路参考网上的程序,存疑的地方,怎么判定遍历首项就能找到最小的值,难道首项越小,出现的最小公差会越小???

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<iostream>
using namespace std;
int primer[5000]={0};
void make_primer(){for(int k=2;k<5000;k++){bool flag=true;for(int i=2;i<=sqrt(k);i++){if(k%i==0)flag=false;}if(flag)primer[k]=1;	}
}
int main(){//打表 make_primer();int step_num;//首项遍历 for(int first=2;first<500;first++){//步长遍历 if(primer[first])for(int step=2;step<500;step++){	//该步长能否构成长度为10的等差素数列 for(step_num=0;step_num<10;){if(primer[first+step_num*step])step_num++;else break;}//长度为10即为答案 if(step_num==10){ cout<<step<<endl;return 0;}}}return 0;
}

更多推荐

等差素数列(存疑)

本文发布于:2024-02-25 02:43:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1697517.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:素数   等差

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!