2017蓝桥杯C++B:等差素数列(枚举优化)

(个人C++学习笔记)使用C++ STL标准模板库Vector容器写的等差数列计算器 ** 使用C++ STL标准模板库Vector容器写的等差数列计算器 //个人学习笔记有兴趣的可以翻阅 #include <iostream> #include <vector> #include <windows.h> using namespace std; vector<int> opnumber(100);//新建一个int类型的Vect... 阅读详情

二、题目:等差素数列

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

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

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

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

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


  • 分析思路:
    常见素数列:2,3,5,7,11,13,17,19,23…
    枚举法
    枚举首项:a[i]
    枚举公差: 1   2+3=5可以,3+5=8不符合
                    2
                    3
                    …
    公差的极限是最后数列最后一项-首项
    公差max-a[i],在每个公差过程中累加还要枚举个数
    从头到尾找10个

  • 代码:

#include<iostream>
#include<algorithm>
#include<set>
using namespace std;

typedef long long LL;
set<int>all;
bool isPrime(LL t){
	for(int i=2;i<t/2;i++){  //除2或者开更号 
		if(t%i==0)  //能否被整除,判断是否为素数 
		return false;
	}
	return true; 
} 
int f(LL a[],int n){ //把5000长度存储 ,已经是素数的数列中,找等差的素数列 
	for(int i=0;i<n;i++){   
		LL first=a[i];  //首项 
		for(int delta=1;delta<a[n-1]-first;delta++){ //delta枚举公差,考虑极限最大的减第一个 
		int m=first; //考虑首相 
		for(int j=1;j<10;j++){ //从首相开始加9次,若全为素数,则成功 
			m+=delta; //j每走一次,m加一次delta 
			if(all.find(m)==all.end()) //,找不到m不是素数 
			break;
			if(m>a[n-1]) break; //m超出范围 
			if(j==9)  //已经找到第10项
			return delta; 
		}	
		}
	} 
	return -1; //中间未找到 
}
const int N=5000;  //目前先定为找到5000
LL a[N];  //素数列 
int main(){
	a[0]=2;  //第一个素数 
	a[1]=3;  //第二个素数 
	all.insert(2); //2
	all.insert(3);  //3
	int index=2;
	LL t=5;  //a【0】+a【1】=5 
	while(index<N){
		if(isPrime(t)){  //如果是素数 
			a[index++]=t;  //找到素数填到数组中 
			all.insert(t);
		}
		t++;
	}
	cout<<f(a,N)<<endl;
	return 0;
} 

答案:210
在这里插入图片描述

2019 第十届蓝桥杯C/C++ 省赛B组题解 文章目录前言试题 A: 组队试题 B: 年号字串试题 C: 数列求值试题 D: 数的分解试题 E: 迷宫试题 F: 特别数的和试题 G: 完全二叉树的权值试题 H: 等差数列试题 I: 后缀表达式试题 J: 灵能传输 前言 又是一年一度的蓝桥杯,这次也应该是我大学最后一次学科竞赛了,今年的省赛题型和往届有些不同,代码填空没有了,只有结果填空和编程大题,不过坑还是一样的多,稍不注意就出错了。这里记录... 阅读详情

相关推荐

蓝桥杯C++B组真题深度复盘:从枚举、BFS到DP的算法实战与避坑指南

算法竞赛是检验编程基础与逻辑思维能力的有效途径,其核心在于将通用计算模型应用于具体问题求解。理解枚举、深度优先搜索(DFS)、广度优先搜索(BFS)和动态规划(DP)等基础算法的原理,是提升解题能力的关键。这些技术通过系统地遍历状态空间或递推求解,在数据处理、路径规划和优化问题中展现出巨大价值。例如,在解决组合搜索或迷宫最短路径问题时,BFS和DP能高效找到可行解。本文以蓝桥杯真题为例,深入剖析了**枚举剪枝**和**BFS路径记录**等高频考点,分享了从审题、设计到调试的完整实战经验,旨在帮助读者巩固基础

weixin_34228387的博客 374

等差素数列

#inlcude<bits/stdc++.h> using namespace std; const int maxn = 10000; int a[maxn]; int p[maxn]; void init() { for(int i=2;i<N;i++) { if(!a[i]) { p[++cot]=i; } for(j=i+i;j<=N;j+...

qq_44238714的博客 369

2017第八届蓝桥杯C/C++ B组省赛

第二题 标题:等差素数列 2,3,5,7,11,13,....是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果! 有这一理论为基础,请你借助手中的计算机,满怀信心地搜

. 3万+

等差数列C++

等差数列

qq_62217723的博客 1342

浅谈C++如何求等差素数列

主要介绍了浅谈C++如何求等差素数列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Win10家庭版如何添加本地用户和组

在众多Windows版本中,Windows 10以其丰富的功能和卓越的性能吸引了大量用户。然而,对于使用Win10家庭版的用户来说,他们可能会遇到一些功能上的限制,特别是在用户和组管理方面。虽然家庭版在某些高级功能上有所缩减,但我们仍然可以通过一些技巧来实现对本地用户和组的管理。本文将详细介绍如何在Win10家庭版中添加本地用户和组,以便用户能够更好地管理计算机资源。

nntxthml的博客 4555

【c++】寻找等差数列

在给定的区间范围内找出所有素数能构成的最大的等差数列(即等差数列包含的素数个数最多)。 输入样例:1 10输出样例:3 5 7程序代码:#include<iostream> #include<cstdio> #include<cmath> #define max 100 using namespace std; int sushu(int x); int f1(int* a,int x,int y

Vincent的专栏 5071

【深度学习】tensorboard中的图片放到论文中

1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可。 左边的smoothing 数值不影响导出数据的大小。 2.tensorboard 图下标签介绍: 放大 Toggle y-axis log scale:将y轴对数化 Fit domain to data:如果拖动了图片等,再重新回到原始位置 Download Current Chart as SVG 3.用下载下来的csv数据来画图 第一幅图片:训练的平均长度 fig, ax1 = plt.sub

gaocui883的博客 1万+

[leetcode]413.C++实现 等差数列划分(Arithmetic Slices)

(一)题目描述 (二)思想方法 题目理解: (1)输入数组不一定是等差数组 (2)P+1<Q,说明数组至少包含三个元素, (3)等差子数组按原数组顺序 方法: {1,2,3} {1,2,3} ...

guaiguaitinghua的博客 584

NVIDIA DGX Spark 深度应用解析:从大模型训练到边缘推理的完整实践指南

内存管理:充分利用统一内存架构,避免不必要的数据传输批处理大小:根据模型大小调整批处理大小以优化内存使用精度选择:在精度损失可接受范围内使用较低精度计算流水线优化:重叠计算和数据传输操作DGX Spark作为一个专门的AI计算平台,在大模型开发的各个阶段都能发挥重要作用。从数据预处理到模型训练,从微调到推理部署,其统一内存架构和强大的计算能力为AI开发者提供了前所未有的本地开发体验。需要注意的是,虽然DGX Spark性能强大,但合理的算法设计和系统优化仍然是获得最佳性能的关键。

time_days的博客 2868

【二 Deepseek+Coze案例】【 2.2 Coze + Deepseek 实现小红书爆款笔记:打造专属Agent智能体】

摘要 本文介绍了如何利用Coze平台和Deepseek模型构建自动化Agent智能体,用于生成和优化小红书爆款笔记。文章首先分析了爆款笔记的核心特征,包括精准定位、吸引标题、实用内容、精美排版和热门标签。随后提出Agent智能体的功能需求,涵盖热点追踪、内容生成与优化、数据分析及自动发布等模块。在技术实现上,详细阐述了从环境配置、数据采集到内容生成与优化的全流程,并提供了Python代码示例,展示如何调用Coze函数获取热点数据及竞品笔记。该方案通过智能化的内容创作与运营策略,帮助用户高效打造高曝光的小红书

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 2257

2017年蓝桥杯软件B组省赛试题

文章目录购物单(简单计算)等差素数列(素数筛,暴力枚举)承压计算方格分割(搜索)取数位(简单计算)最大公共子串(最长公共子序列)日期问题(STL专题之sort排序)包子凑数(欧几里得,思维)分巧克力(二分)k倍区间(前缀和,思维) 购物单(简单计算) using namespace std; const int Max_n=100005; typedef long long LL; in...

Sun 2235

基于知识图谱的农作物病虫害问答系统设计与实现

基于规则的问题分类是自问答系统诞生以来就一直存在的方式,主要代表就是众多的专家系统,构建专家系统采用的是规则分类器,优点是能够对特定领域、特征明显的问题进行高效精准问答,但是。,在问答系统中,问题以语音及文本字符等自然语言形式输入,利用问答系统的内部的逻辑处理模块,通过自然语言处理技术获得输入问句的详细语义信息,再经过知识检索、置信分析等步骤,自然语言处理中,用于文本分类任务的机器学习方式有两种,一种用传统的机器学习,如 NBC、SVM 等,另一种采用深度学习,如 CNN 和 RNN 等。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2164

蓝桥杯2017届C++B组省赛真题 等差素数列

int prim[N]; void init(){//打素数表 int index = 0; for(int i = 2;i < N;i++){ bool flag = true; for(int j = 2;j * j <= i;j++){ if(i % j == 0){ flag = false; break; } } if(flag){ prim[index++] = i; } } }

qq_53133234的博客 197

解决开着代理情况下pip或魔搭下载失败

最近由于经常配环境导致,老是要来回切clash关掉代理,非常的不方便如下面的,魔搭模型下载失败如下面的,pip换源后下载失败。

风吹落叶的博客 2949

【批处理脚本】-0.1-如何运行批处理bat文件

如何运行批处理bat文件

「汽车电子助手」的博客 1584

第十届蓝桥杯大赛软件类省赛 C++ B组 试题+题解

写在前面,这届蓝桥杯,考了2道贪心,1道bfs,1道数论,剩下的都是模拟题,除了最后一题之外,其他题还是都很简单的 文章目录试题 A: 组队试题 B:年号字串试题 C:数列求值试题 D:数的分解试题 E:迷宫试题 F:特别数的和试题 G:完全二叉树的权值试题 H:等差数列试题 I:后缀表达式试题 J:灵能传输 试题 A: 组队 题解: 这个题其实可以手推,编程实现的话就是dfs暴力枚举所有情况,最后求出评分最大即可。 C++ 代码: #include <iostream> #include

qq_45662097的博客 958

【系统移植】 移植主线U-Boot(v2024.01-rc3)到RK3399

[系统移植] 移植主线U-Boot(v2024.01-rc3)到RK3399

Systemcall名屋 1003

第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)

小蓝组织了一场算法交流会议,总共有 5050 人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 77 个人,这 77 人彼此之间没有进行握手 (但这 77 人与除这 77 人以外的所有人进行了握手)。请问这些人之间一共进行了多少次握手?注意 AA 和 BB 握手的同时也意味着 BB 和 AA 握手了,所以算作是一次握手。

wljy1的博客 1612

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

蓝桥杯2017c语言省赛,2017第八届蓝桥杯C/C++ B组省赛

第二题标题:等差素数列2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提...

weixin_29945371的博客 441

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

P8682 [蓝桥杯 2019 省 B] 等差数列

需要注意的是,1 1 1 1 这样样例,找0和0的最大公约数会比较荒谬,或者能得出0,但是不利于后续计算数量5/0=?,故对特殊情况讨论。思路:试图枚举,可是从哪里开始,易得应是两数之间最小的差值。再想,实质其是找差值的最大公约数。

lollypretty的博客 190

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【蓝桥杯第八届省赛】2017_C++_B

1.标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。 小明很厌烦,但又不好推辞。 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。 取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。 你的任务是计算出,小明最少需要取多少现金。 以下是让人头疼的购物单,为了保护隐私,

前端学习博客 231

第八届蓝桥杯个人赛省赛(软件类)C++B组试题第二题

一【题目描述】 标题:等差素数列 2,3,5,7,11,13,....是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果! 有这一理论为基础,请你借助手中的计算机,满怀信心地搜索: 长度为10的等差素数...

充满好奇的threecat 353

2013-2017蓝桥杯省赛C++A组真题总结(题型及解法)

2013年 1.高斯日记: execl/手算/编程(模拟翻日历==简单枚举) 闰年 2.排它平方数: 枚举+筛选 数字不同的6位数x,它的平方数不含有x中的任意一个数字 枚举6位数,限制条件:a.各个位上的数不同; b.平方后的数字不含有x中的字符 3.振兴中华: 递归技巧,搜索解得个数 4.颠倒的价牌: 四位数旋转180°之后和源数字有一个差值 枚举+筛选,字符串处理,vector 5.前缀判断...

gl620321的博客 2631

从2017蓝桥杯国赛五题复盘算法竞赛核心思维与编码实践

算法竞赛是提升程序员核心能力的重要途径,其考察的模拟、搜索、动态规划、数论等基础算法,是解决实际工程问题的底层逻辑。理解算法原理,如深度优先搜索(DFS)的递归与回溯机制,以及动态规划的递推与状态转移,是构建高效解决方案的关键。这些技术的价值在于培养严谨的逻辑思维、高效的数据建模能力以及对性能与精度的极致追求,广泛应用于路径规划、资源调度、规则引擎等场景。本文以2017年蓝桥杯国赛真题为例,通过剖析购物单的精度处理、等差素数列的枚举优化、承压计算的整数化技巧、方格分割的对称性剪枝以及取位数的递归思维,系统展

weixin_33824385的博客 328

2019第十届蓝桥杯CB组国赛心得

一年一度的传说中的“暴力”杯又过去了,今年是第一次参加蓝桥杯省赛跟国赛,今天刚从北京回来,觉得应该写点东西,觉得不能再叫蓝桥杯暴力杯了当然大佬觉得还是暴力还请忽略,要改名了,今年难度有点大,首先题目数量变成了 10个,分值设置相对均匀5~25分的样子,之前分数梯度很大,然后难度也加了些,具体多少我也不是很清楚,我做去年第九届跟前年第十届的题目的时候也是很多也都不会做,有人下午比赛比了一半就溜出来...

Sinclair 3329
上一篇: 2019蓝桥杯B组:完全二叉树权值
下一篇: 数据库实验1:数据库的建立与使用
Serendipity_筱楠
博客等级 码龄8年 2万+粉丝 272原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值