素数对猜想
来源:互联网 发布:linux网络设置 编辑:程序博客网 时间:2024/05/29 17:11
自测-2 素数对猜想(20分)
让我们定义dnd_ndn为:dn=pn+1−pnd_n = p_{n+1}-p_ndn=pn+1−pn,其中pip_ipi是第iii个素数。显然有d1=1d_1 = 1d1=1,且对于n>1n>1n>1有dnd_ndn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<105<10^5<105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
解题思路:先用Eratosthenes筛法筛选出素数,再判断两个相邻素数差是否为2
#include<iostream>#include<cstring>#include<cmath>using namespace std;const int maxn = 1e5+5;/*用Eratosthenes筛法筛选出素数*/void prime(int *vis,int n){ int m =sqrt(n + 0.5); memset(vis , 0, sizeof(vis)); for(int i = 2;i <= m; i++) if(!vis[i]) for(int j = i*i; j <= n; j += i) vis[j] =1;}int main(){ int n; cin >>n; int vis[maxn], a[maxn]; prime(vis , n); int j=0; for(int i = 3;i <= n; i++) if(!vis[i]) a[j++]=i; int sum =0; for(int k = 1;k < j; k++) if(a[k] - a[k-1] == 2){ sum += 1; } cout << sum << endl; return 0;}
1 0
- PAT1007. 素数对猜想
- 1007 素数对猜想
- 1007. 素数对猜想
- 1007. 素数对猜想
- 素数对猜想 (20)
- PAT素数对猜想
- 素数对猜想
- 1007. 素数对猜想
- 素数对猜想
- 素数对猜想
- 1007素数对猜想
- PAT1007. 素数对猜想
- 素数对猜想
- 1007.素数对猜想
- 1007. 素数对猜想
- pat1007:素数对猜想
- 1007. 素数对猜想
- 素数对猜想
- 架构以及架构的本质
- 关于单机winform数据库 数据存储
- java序列化
- Appium+Robotframework实现手机应用的自动化测试-1:Appium简介
- Spring+SpringMVC+Mybatis+Mysql整合实例
- 素数对猜想
- 自己总结面试题
- Android中shape中的属性大全
- git代码管理:使用SourceTree push时错误:error: unable to rewind rpc post data - try increasing http.postBuffer
- ListView练习
- 编译链接的整个过程
- The resource identified by this request is only capable of generating responses with characteristics
- HTML 北大青鸟视频宣传片列表
- unity 实现一个二维指南针