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

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

解题思想:本题通过初始化两个数组开始,一个是dp[i],表示第i个数是否是素数,如果是dp[i]就是0,否则就是1。

另一个是prim[],用来存储10000以内所有的素数。然后进行初始化,即完成两个数组的赋值。

接下来开始循环公差,从1开始,下一层是循环等差数列第一个的素数,循环进行相加十次,如果都ok(ok代表等差数列通过加公差没有超过N,并且从a1加上来的数都是素数),flag没倒直接输出i即可。

#include <iostream>
using namespace std;
const int N = 10010;
int dp[N]={1,1,0};     //dp[i]用来存i是不是素数(为0代表是素数,1代表不是素数)
int prim[N],tot = 0;     //prim用来存素数void init()
{int i,j;for(i=2;i<N;i++){if(dp[i]==1)                     //dp[i]为1代表不是素数continue;prim[tot++]=i;                   //如果没掉入上面的陷进,那么就是素数,存起来。for(j=i;j*i<N;j++)               //如果i是素数,那么i*j就不是素数dp[i*j]=1;                //标记为1,代表其不是素数(非素数也是由素数构成的)}
}
int main()
{int i,j,k,flag,temp;init();                              //对素数进行初始化printf("%d\n",tot);for( i=1;i*10<N;i++)             //依次循环等差数列的公差(公差不能大过N/10){for(j=0;j<tot;j++)                          //循环 (素数的个数次){flag=1;temp=prim[j];                //temp等于第j个素数   for(k=1;k<10;k ++){if(temp+i>= N || dp[temp+i] == 1)  //如果temp+公差,还ok,那就下一步,temp+=i {flag = 0;break;}elsetemp=temp + i;}if(flag==1)                           //如果十次循环过来了,flag还没倒,那么就输出。没毛病{printf("%d %d\n",i,prim[j]);return 0;}}}return 0;
}

第八届蓝桥杯省赛试题——等差素数数列相关推荐

  1. 49-2017年第八届蓝桥杯国赛试题及详解(Java本科B组)

    蓝桥杯历年真题题目及题解目录汇总(推荐) 蓝桥杯算法模板常用套路及API等个人总结 ---------------------------------------------------------- ...

  2. 2017年第八届蓝桥杯省赛试题(JavaA组)

    1.结果填空 (满分5分) 2.结果填空 (满分11分) 3.结果填空 (满分13分) 4.结果填空 (满分17分) 5.代码填空 (满分7分) 6.代码填空 (满分9分) 7.程序设计(满分19分) ...

  3. 【蓝桥杯】最长等差素数数列

    [题目] 在小于10的素数中有3.5.7组成的等差数列,在小于30的素数中有11.17.23.29组成的等差数列. 试找出区间[100,1000]内的素数构成的最大等差数列(即等差数列包含的素数个数最 ...

  4. 2017年第八届蓝桥杯 - 省赛 - C/C++大学A组 - C. 魔方状态

    2017年第八届蓝桥杯 - 省赛 - C/C++大学A组 - C. 魔方状态 魔方状态 二阶魔方就是只有2层的魔方,只由8个小块组成. 小明很淘气,他只喜欢3种颜色,所有把家里的二阶魔方重新涂了颜色, ...

  5. 第八届蓝桥杯省赛——青蛙跳杯子

    第八届蓝桥杯省赛--青蛙跳杯子 题目描述 XXX 星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. XXX 星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的 ...

  6. 2017第八届蓝桥杯省赛c/c++本科B组试题总结及解题答案

    尊重原创,转载请注明出处:http://blog.csdn.net/y1196645376/article/details/69718192(有改动在末尾)(改动的地方是用的更容易理解的方法) 第一题 ...

  7. 第八届蓝桥杯省赛第二题---等差素数列

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

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

    2017.4.8,第八届蓝桥杯初赛,时隔一月多,才写个题解,贼尴尬...这学期竞赛多,PAT,天梯赛初决赛,蓝桥杯初决赛,ACM省赛,加上课程也多,真是累成狗了,蓝桥初赛后就一直学习课程,和小伙伴一起 ...

  9. 2017年第八届蓝桥杯省赛题目python解答(更新中)

    目录 1. 迷宫 2. 跳蚱蜢 3. 魔方状态 4. 方格分割 5. 正则表达式 6. 包子凑数 ·· 1. 迷宫 思路:使用暴力的方法来求解,对于每一个玩家,计算他能否走出去.对于一些走不出去的玩家 ...

最新文章

  1. CVPR新规严禁审稿期间公开宣传论文,可发arXiv,LeCun:疯了吧!
  2. R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战
  3. lesson4-Qt窗口
  4. appium(3)-Running Tests
  5. oracle decode 01427,dbms_hm.run_check遇到ORA-00604、ORA-01427
  6. Zookeeper-watcher机制源码分析(二)
  7. static、final、static final 用法
  8. 机械厂html5手机模板,营销型机械消费设备企业通用织梦模板(带html5手机端) v1.0...
  9. 互联网日报 | 3月20日 星期六 | 荣耀CEO赵明谈发展目标;家乐福中国未来谋求独立上市;微盟开放接入支付宝小程序能力...
  10. qq编辑资料html,腾讯限置qq日记代码HTML在线编辑器: http://www.wyzxsx.com/editor.asp
  11. 计算机统考第五次作业操作题,计算机基础第5次作业 第五章 Powerpoint知识题
  12. eclipse C/C++开发环境配置全过程
  13. VS2010对Excel操作---DLL向
  14. 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(八)——反馈
  15. channel.QueueDeclare各个参数详解
  16. 【ParaView教程】2.13 保存截图和保存动画
  17. bzoj4998 星球联盟
  18. win7语言文件夹c盘什么位置,win7桌面上的文件 在c盘哪个目录
  19. 欢迎关注异贝!今天异贝与您一起分享:美容行业异贝引客方案设计!
  20. FTT NTT 分治FFT

热门文章

  1. ISAKMP - 认证
  2. MySQL查询结果映射到map_mybatis结果集映射
  3. Python编程笔记
  4. 科学的特性与中医理论的基础 作者:奥卡姆剃刀
  5. php正则表达式中的字符是,PHP正则表达式中的特殊字符详解
  6. 光刻原理--光的衍射
  7. 学会以下几点,拍出人像大片很简单
  8. 【MTK Camera】简介与概述
  9. 【luogu P3959 宝藏】 题解
  10. Gethsemane