PAT Basic 1007
来源:互联网 发布:网络胜利组op完整版 编辑:程序博客网 时间:2024/04/30 04:15
- 素数对猜想 (20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
代码:
#include<iostream>#include<math.h>#include<string.h>using namespace std;int sushu(int k){ int i; int m=sqrt(k); for(i=2;i<=m;i++) if(k%i==0) return 0; return 1;}int main(){ int a[10001]; int count=0,n; cin>>n; memset(a,0,sizeof(a)); int j=2; for(int i=1;i<10001;) { if(sushu(j)==1) { a[i]=j; j++; i++; } else { j++; } } for(int i=1;a[i+1]<=n;i++) { if(a[i+1]-a[i]==2) { count++; } else continue; } cout<<count<<endl; return 0;}
思路:
做这一题用到了打表法,求素数写了一个函数判定是否是素数,这样会使代码更加清晰。
memset(a,0,sizeof(a));将数组清零,头文件是#include
int sushu(int k){ int i; int m=sqrt(k); for(i=2;i<=m;i++) if(k%i==0) return 0; return 1;}
以上是根据概念求素数的方法
关于求素数的算法以后会逐渐接触,继续学习~~
0 0
- PAT Basic 1007
- PAT BASIC 1007
- PAT Basic 1007
- PAT Basic 1007
- PAT BASIC 1007
- PAT basic 1007
- PAT Basic 1007
- 浙大 pat Basic Level 1007
- PAT Basic
- PAT basic 1007 : 素数对猜想
- PAT(basic level) 1007 素数对猜想
- PAT乙级(Basic)题库---1007
- 被坑水题——PAT(Basic Level)-1007
- PAT (Basic Level) Practise (中文) 1007
- PAT (Basic Level) Practise
- PAT Basic 1001
- PAT Basic 1002
- PAT Basic 1005
- 【Codeforces 343D】Water Tree dfs序建树+线段树
- HTML标签以及各个标签属性大全(网页制作必备)
- Block 三个注意事项
- leetcode Minimum Height Trees
- Java简单爬虫示例
- PAT Basic 1007
- 关于数据预处理的相关技巧
- jsp调用javabean
- 浅谈Spring事务隔离级别
- >分治算法
- [leetcode] 203. Remove Linked List Elements
- 记录下EditText的几个设置
- jsp servlet通信
- bootstrap设置下拉框,并且鼠标移动到li上之后自动显示下拉框