1. 程式人生 > >PAT 1007. 素數對猜想

PAT 1007. 素數對猜想

data- 輸出 1=1 rac tro mes main spl pan

1007. 素數對猜想 (20)

讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。

現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。

輸入格式:每個測試輸入包含1個測試用例,給出正整數N。

輸出格式:每個測試用例的輸出占一行,不超過N的滿足猜想的素數對的個數。

輸入樣例:
20
輸出樣例:
4
技術分享圖片
 1 #include<iostream>
 2 #include<math.h>
 3 #include<vector>
 4
using namespace std; 5 int main(){ 6 int N,n; 7 cin>>N; 8 vector<int> vi; 9 for(int j=3;j<=N;j++){ 10 int flag=1; n=sqrt(j); 11 for(int i=2;i<=n;i++){ 12 if(flag==0) break; 13 if(j%i==0) flag=0; 14 } 15 if
(flag==1) vi.push_back(j); 16 } 17 int cnt=0; 18 for(auto b=vi.begin()+1;b<vi.end();b++) 19 if(*b-*(b-1)==2) cnt++; 20 cout<<cnt; 21 return 0; 22 }
View Code

PAT 1007. 素數對猜想