标签:base minus eset break ble return 超过 problem 存在
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 }
利用欧式筛找素数
标签:base minus eset break ble return 超过 problem 存在
原文地址:https://www.cnblogs.com/zuiaimiusi/p/10597435.html