侧边栏壁纸
博主头像
王小木人

这是很长,很好的一生

  • 累计撰写 141 篇文章
  • 累计创建 43 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

等差素数列

王小木人
2021-05-22 / 0 评论 / 0 点赞 / 1,189 阅读 / 1,039 字

标题:等差素数列2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。

上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!

有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个整数,

不要填写任何多余的内容和说明文字。

#include <iostream>

#include <string>
#include<stdlib.h>
#include<cmath>
#define N 10000
using namespace std;
int main(){
  int sunum[N]={0};
bool IsSuShu(int);
int k=0;
   for(int i=2;i<=N;i++)
   {
      if(IsSuShu(i))
      
      {
      sunum[k++]=i;
      }
   }
   for(int i=1;i<300;i++)
   
   {
      int last,next;
      for(int j=0;j<=N;j++)
      
      {
        int index=1;
          last=sunum[j];
        for(int k=j+1;k<=N;k++)
        {
          if(sunum[k]-last==i)
          {
          index++;
          last=sunum[k];
          }
          else if(sunum[k]-last<i)
          {
          continue;
          }else
          
          {
          break;
          }
        
        }
        if(index>=10)
        {
        cout<<i;
        break;
        }
      }
    
   }
return 0;

}
bool IsSuShu(int a)


{
bool issu=true;
if(a==2||a==1) return true;
for(int i=2;i<=sqrt(a);i++)

{
if(a%i==0)
{
issu=false;
break;
}



}
return issu;
}
0

评论区