【PAT (Basic Level) Practice】——【素数】1007 素数对猜想
2022/1/26 23:04:45
本文主要是介绍【PAT (Basic Level) Practice】——【素数】1007 素数对猜想,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一【题目难度】
- 二【题目编号】
- 三【题目描述】
- 四【题目示例】
- 五【解题思路】
- 六【最终得分】
- 七【代码实现】
- 八【提交结果】
一【题目难度】
- 乙级
二【题目编号】
- 1007 素数对猜想 (20 分)
三【题目描述】
- 让我们定义 d n d_n dn 为: d n = p n + 1 − p n d_n =p_{n+1} −p_n dn=pn+1−pn ,其中 p i p_i pi 是第 i i i个素数。显然有 d 1 = 1 d_1 =1 d1=1,且对于 n > 1 n>1 n>1有 d n d_n dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
- 现给定任意正整数 N ( < 1 0 5 ) N(<10^5 ) N(<105),请计算不超过 N N N的满足猜想的素数对的个数。
四【题目示例】
-
输入格式:
输入在一行给出正整数 N N N。 -
输出格式:
在一行中输出不超过 N N N的满足猜想的素数对的个数。 -
输入样例:
20 -
输出样例:
4
五【解题思路】
- 这个题还是比较好想的,主要思路就是枚举1~n(包括n,因为题目说不超过,所以是≤)中的所有素数,然后遍历判断两个素数是否相邻即可。但是有些小细节需要注意如下:
①:要知道1不是素数,虽然2是素数,但是没有能和它配对的,所以2也不计算在内
②: f o r for for循环每次的增长为2,原因是从3开始,保证以奇数增长,因为偶数肯定不是素数(除了2),所以之判断奇数即可
③:要保证 i & & i + 2 ≤ n i \quad \&\& \quad i+2 ≤ n i&&i+2≤n
④:编写判断素数的函数不能直接从头到尾遍历,否则其中有一个用例一直运行超时,所以需要优化:我们知道如果一个数能被2~n之间的任一整数整除,其中有一个因子必然小于等于 m \sqrt{m} m ,另一个因子必然大于等于 m \sqrt{m} m ,他们都是成对出现的,所以我们只需要遍历从2到 m \sqrt{m} m ,如果不是素数,自然有因子被取模等于0,这样就可以判断了,而且速度更快
六【最终得分】
- 20分
七【代码实现】
#include<stdio.h> #include<stdbool.h> #include<math.h> bool isPrimeNumber(int x) { int sqr = (int)sqrt(1.0*x); for(int i = 2;i<=sqr;i++) { if(x % i == 0) { return false; } } return true; } int main() { int n,res = 0; scanf("%d",&n); for(int i = 3;i + 2 <= n;i+=2) { if(isPrimeNumber(i)&& isPrimeNumber(i+2)) { res++; } } printf("%d",res); return 0; }
八【提交结果】
这篇关于【PAT (Basic Level) Practice】——【素数】1007 素数对猜想的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验