蓝桥杯:等差素数数列 暴力

在这里插入图片描述

思路

暴力枚举首项和公差即可,然后找到最小的公差
答案:210

代码

#include <iostream>
#include <vector>
#include <cmath> 

using namespace std;

bool isprime(int n)
{
	for(int i=2; i<=(int)sqrt(n); i++)
		if(n%i==0) return false;
	return true;
}

int main()
{
	vector<int> a(10);
	#define st 10000
	#define dt 1000
	for(int start=2; start<=st; start++)
	{
		if(!isprime(start)) continue;
		for(int delta=1; delta<=dt; delta++)
		{
			int i;
			a[0] = start;
			for(i=1; i<10; i++)
				if(isprime(a[i-1]+delta)) a[i]=a[i-1]+delta;
				else break;
			if(i==10)
				cout<<delta<<endl;
		}
	}
	
	return 0;
}
发布了171 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44176696/article/details/104572726