1007 素数对猜想

让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n>1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(<),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20

输出样例:

4

 1 #include <iostream>
 2 #include<cmath>   //cmath是C++里的头文件 math.h是C里面的头文件
 3 #include<cstring>
 4 using namespace std;
 5 
 6 int main(){
 7     int cnt=0;
 8     bool isPrime;
 9     //输入要判断的数
10     int n;
11     cin>>n;
12     //给数组赋初值,用来存储小于n的素数
13     int prime[n];
14     memset(prime,0,sizeof(prime));
15     //判断素数
16     for(int i=2;i<=n;i++){
17         isPrime=true;
18         for(int j=2;j<=sqrt(i);j++){
19             if(i%j==0){
20                 isPrime=false;
21                 break;
22             }
23         }
24         if(isPrime){
25             prime[cnt++]=i;
26         }
27     }
28     cnt=0;
29     for(int i=0;i<=n;i++){
30         if(prime[i+1]-prime[i]==2){
31             cnt++;
32         }
33     }
34     cout<<cnt;
35     return 0;
36 }

 

posted @ 2019-04-01 17:14  喵喵队立大功  阅读(305)  评论(0编辑  收藏  举报