蓝桥杯05

Posted Respect@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯05相关的知识,希望对你有一定的参考价值。

/*
标题:等差素数列

2,3,5,7,11,13,....是素数序列。
类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。
上边的数列公差为30,长度为6。

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

有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:

长度为10的等差素数列,其公差最小值是多少?

注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。

*/

#include <algorithm>
#include <iostream>
#include <set>

using namespace std;
typedef long long LL;
set<int>all;

bool isPri(LL t)
	for(int i=2;i<t/2;++i)
		if(t%i==0)return false;
	
	return true;


int f(LL a[],int n)
	for(int i=0;i<n;++i)//枚举首相 
		LL first = a[i];
		 for(int delta=1;delta<a[n-1]-first;++delta)//枚举公差 
		 	int m=first;
		 	for(int j=1;j<10;++j)
		 		m+=delta;
		 		if(all.find(m)==all.end())//m不是素数   因为找不到 
				 break;
				 if(m>a[n-1])break;
				 if(j==9 )//已经找到10项
				 	return delta; 
			 
		 
	 
	return -1;


int main()
	a[0]=2;
	a[1]=3;
	all.insert(2);
	all.insert(3);
	
	int index = 2;
	LL t=5;
	while(index<N)
		if(idPrime(t))
			a[index++]=t;
			all.insert(t);
		
		t++;
	
	cout<<f(a,N)<<endl;

以上是关于蓝桥杯05的主要内容,如果未能解决你的问题,请参考以下文章

LQ0110 等差素数列无标题

蓝桥杯——java(b组)省赛

蓝桥杯——数学专题

蓝桥杯之数论专题

蓝桥杯备赛(第十届(1) )

是公差为正数的等差数列,若a1 a2 a3=15,a1a2a3=80,求a11 a12 a13的值