日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PAT B1007 素数对猜想 (20 分)

發布時間:2024/4/17 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT B1007 素数对猜想 (20 分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

輸入格式:

輸入在一行給出正整數N。

輸出格式:

在一行中輸出不超過N的滿足猜想的素數對的個數。

輸入樣例:

20

輸出樣例:

4 #include <stdio.h> #include <algorithm> #include <string> #include <map> #include <iostream> #include <stack> #include <math.h> using namespace std; const int maxn = 100010; int index[maxn] = { 0 }; bool isPrime(int i){for (int k = 2; k <= sqrt(i); k++){if (i%k == 0)return false;}return true; } int main(){int n, count = 0;cin >> n;if (n == 1 || n == 2){cout << '0';return 0;}for (int i = 2; i <= n; i++){if (isPrime(i)){index[i] = 1;}}for (int i = 2; i <= n-2; i++){if(index[i]==1 && (index[i + 2] - index[i] == 0))count++;}cout << count;system("pause"); }

注意點:素數的判定一直是一個重點,本以為判斷到平方根也會超時,結果沒有還算好,有時間要去看一下時間復雜度最低的素數判定方法。這里我是把所有素數都存起來,用了hash,也可以生成一個判斷一個,可以省點內存。

轉載于:https://www.cnblogs.com/tccbj/p/10359177.html

總結

以上是生活随笔為你收集整理的PAT B1007 素数对猜想 (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。