[B]プライム推測するためのPAT

件名の説明:

私たちは、Dを定義してみましょうN-を通り:D N - = P 。N-+ 1 -p N-、Pところ私は、 i番目の素数です。明らかに、D 1 = 1、及びDのn> 1の場合、N-偶数です。「隣接の無限の数があると貧しいが素数2である」という「素数は推測します」

今N(<10の整数任意の正の所与。5)、計算回数Nを満たす素数の予想を超えていません。

入力フォーマット:

これは、入力ラインNに正の整数を与えます

出力フォーマット:

出力ラインに数Nを満たす素数の予想を超えていません。

サンプル入力:

20    

出力例:

4

問題解決のアイデア:

まず、2つの素数、統計の数の位相差を特定するサイクル順序を素数を見つけます。

コード:

#include<iostream>
using namespace std;
int a[100000]={0};
int main() {
    int count=0;
    long n;
    for(int i=2;i<50001;i++) {
        for(int j=2;i*j<100000;j++) {
            if(a[i*j]==0) {
                a[i*j]=1;
            }
        }
    }
    cin>>n;
    for(int i=2;i<=n-2;i++) {
        if(a[i]==0&&a[i+2]==0) {
            count++;
        }
    }
    cout<<count<<endl;
    return 0;
}
公開された55元の記事 ウォン称賛30 ビュー9807

おすすめ

転載: blog.csdn.net/chaifang0620/article/details/104914271