蓝桥杯(等差素数列,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;
				}
			}
		}
	}
}
相关推荐
ragnwang38 分钟前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
测试19983 小时前
外包干了2年,技术退步明显....
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
lqqjuly4 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
冰红茶兑滴水4 小时前
云备份项目--工具类编写
linux·c++
刘好念4 小时前
[OpenGL]使用 Compute Shader 实现矩阵点乘
c++·计算机图形学·opengl·glsl
酒鬼猿5 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
姚先生975 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode
小王爱吃月亮糖6 小时前
QT开发【常用控件1】-Layouts & Spacers
开发语言·前端·c++·qt·visual studio
aworkholic6 小时前
opencv sdk for java中提示无stiching模块接口的问题
java·c++·opencv·jni·opencv4android·stiching
程序员老冯头6 小时前
第十六章 C++ 字符串
开发语言·c++