1007. 素数对猜想 (20) PAT乙级真题
来源:互联网 发布:藏宝阁抢号软件 编辑:程序博客网 时间:2024/06/05 05:27
1007. 素数对猜想 (20)
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
每个测试输入包含1个测试用例,给出正整数N。
输出格式:
每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:20
输出样例:4
因为2是第一个素数又明显不符合题目要求,所以我们其实是从3开始找的,3和5是第一对,以后每对最后的结尾必然是1和3、7和9或者是9和1(以5结尾的必能被5整除,而且成为一对以后就不能算进下一对了,比如3和5的下一对是7和9,而不是5和7)。所以我先是专门写了一个函数用来判断是不是素数的,然后每次循环计数的i都加2,如果是素数对就跳到下一个奇数上。代码如下:#include<stdio.h>#include<math.h>int Sushu(int i);int main(void){ int n,s=0,i; scanf("%d",&n); if (n>=3) s=1; for(i=5;i+2<=n;i+=2) { if (Sushu(i)&&Sushu(i+2)) { s++;i+=2; } } printf("%d\n",s); return 0;}int Sushu(int i){ int f=1,j; for(j=3;j<=sqrt(i);j+=2) { if (i%j==0) { f=0;break; } } return f;}
阅读全文
0 0
- 1007. 素数对猜想 (20)-PAT乙级真题
- 1007. 素数对猜想 (20) PAT乙级真题
- 1007. 素数对猜想 (20)-浙大PAT乙级真题java实现
- 1007. 素数对猜想 (20)PAT 乙级
- PAT 乙级 1007. 素数对猜想 (20)
- PAT-乙级-1007. 素数对猜想 (20)
- PAT乙级1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)-PAT乙级
- PAT乙级 1007. 素数对猜想 (20)
- PAT乙级 1007. 素数对猜想 (20)
- PAT乙级1007. 素数对猜想 (20)
- [PAT乙级]1007. 素数对猜想 (20)
- PAT乙级1007. 素数对猜想 (20)
- pat 乙级 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)--PAT乙级
- PAT乙级1007. 素数对猜想(20)
- PAT乙级1007. 素数对猜想 (20)
- PAT乙级题1007.素数对猜想
- JEPF 后台一些方法
- Java 数组元素倒序的三种方式
- Android自定义控件实现圆形进度条
- C++基础 protected (无继承时,protected可等同private;有继承时,在派生类会有不同。)
- charles map local修改指定url的返回内容
- 1007. 素数对猜想 (20) PAT乙级真题
- Python环境搭建之OpenCV
- 【解决】-bash: ftp: command not found
- 项目笔记
- Activity切换动画
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 渣渣的pytorch学习笔记之用ndarry创建tensor
- ubuntu mysql 修改数据存储位置
- 一种基于GB28181协议的国标客户端实现