C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)
生活随笔
收集整理的這篇文章主要介紹了
C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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
#include<iostream> #include<math.h> using namespace std; bool judge(int n)//判斷素數,常用 {if (n < 2) return false;for (int i = 2; i <= sqrt(n); i++){if (n % i == 0) return false;}return true; } int main() {int n, sum = 0;int vist[10001] = { 0 };//標記是否為素數cin >> n;for (int i = 1; i <= n; i++){if (judge(i))//判斷{vist[i] = 1;//如果是素數,標記為1}}for (int i = 1; i <= n; i++){if (vist[i] == 1 && vist[i + 2] == 1 && i + 2 <= n)//判斷相鄰且相差2的數是否為素數,i+2必須小于等于n{sum++;}}cout << sum; }總結
以上是生活随笔為你收集整理的C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习之路 | PTA乙级—— 1
- 下一篇: 南开大学计算机原理在线作业,南开大学20