蓝桥杯(等差素数列,C++)

思路:

1、因为找的是长度为10,且公差最小的等差素数列,直接用枚举即可。

2、枚举用三重循环,第一重枚举首项,第二重枚举公差,第三重因为首项算一个,所以枚举九个等差素数。

代码:

cpp 复制代码
#include<iostream>
using namespace std;
int sushu(int n)//判断是否为素数
{
	for (int i = 2; i < n / 2; i++)
		if (n % i == 0)//不是素数
			return 0;
	return 1;
}
int main()
{
	int flag = 1;//计数
	for (int i = 2; i < 10000; i++)//枚举首项
	{
		if (sushu(i))
		{
			for (int j = 2; j < 1000; j++)//枚举公差
			{
				for (int k = 1; k < 10; k++)//本身算一个,再找九个数
				{
					if (sushu(i + j * k))
						flag++;
					else
					{
						flag = 1;
						break;
					}
				}
				if (flag == 10)
				{
					cout << j;
					break;
				}
			}
		}
	}
}
相关推荐
快乐的划水a3 小时前
组合模式及优化
c++·设计模式·组合模式
星星火柴9364 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑5 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
阿巴~阿巴~7 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
旺小仔.8 小时前
双指针和codetop复习
数据结构·c++·算法
jingfeng5148 小时前
C++ STL-string类底层实现
前端·c++·算法
郝学胜-神的一滴9 小时前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
程序员曦曦10 小时前
10:00开始面试,10:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
努力努力再努力wz10 小时前
【c++深入系列】:万字详解模版(下)
java·c++·redis
瓦特what?11 小时前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘