← 返回文章流

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

2,3,5,7,11,13,….是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果! 有这一理论为基础,请你借助手中的计算机,满怀信心地搜索: 长度为10的等差素数列,其公差最小值是多少? 注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。 解题算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include "iostream" #include "algorithm" using namespace std; typedef long long ll; bool isprime(int n){ //如果数值小于等于1并且大于二且为偶数 if(n<=1 || (n>2 && n%2==0)){ return false; } //查找最小公倍数对应的偶数序列,是否满足条件 for(ll i=3; i*i<=n; i+=2){ if(n%i==0){ return false; } } return true; } int main(){ for(int d = 2; d<1000; d++){ for(ll n = 2; n<1000; ++n){ if( isprime(n) && isprime(n + d) && isprime(n + 2*d) && isprime(n + 3*d) && isprime(n + 4*d) && isprime(n + 5*d) && isprime(n + 6*d) && isprime(n + 7*d) && isprime(n + 8*d) && isprime(n + 9*d) ){ cout << d <<endl; break; } } } return 0; } 题解答案 210 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页· 知盈官网

来自 Debug客栈作者主页
在原博客阅读全文 (新标签页打开)

以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。

一起聊聊 0

尊重不同观点

还没有评论。欢迎分享第一个想法。

RSS SUBSCRIPTIONS

选择 RSS 订阅

把博客汇的文章添加到你常用的阅读器。

关注文章 RSS 订阅本订阅需要登录后使用