题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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

上边的数列公差为 30,长度为 6。

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

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

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

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

从这题学到了一点数论方法:欧拉筛

可以看看这几个地方的博客(感谢大佬教我做题):第一个是举例的,第二个可以看看具体代码

欧拉筛法原理C语言,素数筛法_伯索云学堂的博客-CSDN博客

等差素数列(蓝桥杯省赛)_Anterior_condyle的博客-CSDN博客_蓝桥杯等差素数列

代码如下所示:

#include <bits/stdc++.h>
using namespace std;
#define N 100001
int  tot=0;
bool vis[N];
vector<int> prime;//欧拉筛生成素数表
void prime_table(int n)
{vis[1]=true;for(int i=2;i<=n;++i){if(!vis[i]) prime.push_back(i);for(auto j=0;j<prime.size() && i*prime[j]<=n;++j){vis[i*prime[j]]=true;if(i%prime[j]==0) break;}}
}int main()
{// 请在此输入您的代码prime_table(50000);int p=1000;for(auto a=0;a<prime.size()/4;++a){for(int d=1;d<=p;++d){int num=1;while(num<=10){if(vis[prime[a]+(num-1)*d]) break;else num++;}if(num>10){if(d<p) p=d;}}}cout<<p<<endl;return 0;
}

答案是210,输出即可

如果对欧拉筛代码没看太懂的同学,我说一些困扰了我一阵的东西:上边那个prime[j]是最小素数,他的循环是对每个i,遍历从小到大的每个已选出的素数,两者相乘即为要筛掉的合数。他不是按照上边博客的例子那样一个素数一个素数来的。

当i%prime[j]==0的时候,i=k*prime[j],i*prime[j+1]=prime[j]*k*prime[j+1]=prime[j]*n,这个n在哪个位置呢?i*prime[j]<i*prime[j+1],所以n>i。我们先来看i,由于i此时有更小的质因数prime[j],所以到下一次prime[j+1]的时候可以写成prime[j]*n,那我们想想,我们岂不是当i遍历到n的时候又要筛一次了?但是欧拉筛是想着用最小质因数筛的,我们选择用后面的n来筛这个合数,这样只会筛一次。j+2,j+3...同理

蓝桥杯真题:等差素数列相关推荐

  1. 第八届蓝桥杯第二题等差素数列

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

  2. python蓝桥杯训练营一 等差素数列

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

  3. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

  4. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

  5. 蓝桥杯真题2017-2021

    刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...

  6. c语言六角填数蓝桥杯答案,六角填数(全排列)蓝桥杯真题

    六角填数(全排列)蓝桥杯真题 六角填数(全排列)蓝桥杯真题 如图所示六角形中填入1-12的数字,使每条直线上的数字和相等,图中已经填好了3个数字,请你计算*号数字是多少 蓝桥杯老套路,经常这样考全排列 ...

  7. 2016年第七届蓝桥杯真题解析JavaC组

    相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...

  8. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  9. 【蓝桥杯真题】16天冲刺 Python

    距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和  ...

  10. 蓝桥杯真题:三羊献瑞

    蓝桥杯真题:三羊献瑞 观查下面的加法算式: 其中相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容. 分析 ...

最新文章

  1. 自学python找工作难吗-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
  2. Linux 最简单的驱动程序hello world
  3. MVC通过ViewBag动态生成Html输出到View
  4. python的knn算法list_[机器学习]kNN算法python实现(实例:数字识别)
  5. c语言 syn扫描,syn flooder*** (C语言)
  6. [转]Java总结篇系列:Java泛型
  7. unity自带的方法
  8. MATLAB中uigetfile函数使用方法
  9. git 修改commit内容(--amend)
  10. 2013-C++第15周项目参考解答链接集
  11. 小工具更新:车辆违章查询 v1.0.0.2
  12. 初识Java+JDK的安装与环境变量的配置+IDEA的安装
  13. 20、CSS中单位:【px和%】【em和rem】【vw|vh|vmin|vmax】的区别
  14. git配置代理 代理 socks5带用户名密码
  15. html蔡徐坤邀请你打篮球源码,蔡徐坤给IKUN“讲笑话”,想邀请粉丝打篮球,网友:你打球像...
  16. RocketMQ单机环境搭建
  17. 将字符串形式的日期转换成日期对象
  18. 新手安装R以及Rstudio软件
  19. 世界最迷人的白色海岸线
  20. Oracle ORA-01017: invalid username/password;logon denied问题解决

热门文章

  1. matlab怎么定义plot函数线的类型,matlabplot函数线型
  2. 《理财市场情绪监测系统》代码实现【1】之行业词库
  3. WPS通过宏工具批量修改图片尺寸
  4. STM32 串口程序下载
  5. EDA程序设计--出租车计费器
  6. 出租车计费器的Verilog语言简单完成
  7. Python——免费观看全网视频小程序
  8. css扫描动画效果demo示例(整理)
  9. css vue 内联_Vue学习之路第十二篇:为页面元素设置内联样式
  10. send()、sendto()和recv()、recvfrom()的使用