程式設計題目:PAT 1007. 素數對猜想 (20)
阿新 • • 發佈:2019-01-04
1007. 素數對猜想 (20)
時間限制 400 ms記憶體限制 32000 kB
程式碼長度限制 8000 B
判題程式 Standard 作者 CHEN, Yue
讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。
輸入格式:每個測試輸入包含1個測試用例,給出正整數N。
輸出格式:每個測試用例的輸出佔一行,不超過N的滿足猜想的素數對的個數。
輸入樣例:20輸出樣例:
4
題目比較簡單,只要對每組數對(相差為2)判讀是否都為素數即可,直接貼程式碼。
/* http://pat.zju.edu.cn/contests/pat-b-practise/1007 */ #include<cmath> #include<iostream> using namespace std; bool isPrime(int n) { if(n==1 ||n==0) return false; if(n==2) return true; int tmp =(int)sqrt((double)n); for(int i = 2;i<=tmp;i++) if(n%i==0) return false; return true; } int main() { int num,count=0; cin>>num; for(int i = 3;i<=num-2;i++) { if(isPrime(i)&&isPrime(i+2)) count++; } cout<<count<<endl; system("pause"); }