PAT乙级1007

Posted zuiaimiusi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1007相关的知识,希望对你有一定的参考价值。

1007 素数对猜想 (20 分)

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

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

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

20

输出样例:

4

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int check[100005];
 4 int prime[100005];
 5 int tot,ans;
 6 int main()
 7 {
 8     for(int i=2;i<100002;i++)
 9     {
10         if(!check[i])
11             prime[tot++]=i;
12         for(int j=0;j<tot;j++)
13         {
14             if(prime[j]*i>100000)
15                 break;
16             check[i*prime[j]]=1;
17             if(i%prime[j]==0)
18                 break;
19         }
20     }
21     int n;
22     cin>>n;
23     for(int i=1;prime[i]<=n;i++)
24     {
25         if(prime[i]-prime[i-1]==2)ans++;
26     }
27     cout<<ans;
28     return 0;
29 }

利用欧式筛找素数

以上是关于PAT乙级1007的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级1007

PAT乙级1007 素数对猜想 (20 分)

PAT乙级1007.素数对猜想(20)

[PAT乙级] Practise 1007 素数对猜想

PAT乙级 1007 素数对猜想 (20 分)

PAT乙级.1007.素数对猜想 (20)