1. 程式人生 > >PAT刷題集(乙級)1007 素數對猜想 (20)(20 分)

PAT刷題集(乙級)1007 素數對猜想 (20)(20 分)

1007 素數對猜想 (20)(20 分)

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

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

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

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

輸入樣例:

20

輸出樣例:

4

提交完全通過的程式碼:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n,t=0,a[10000],s=0,count=0,i,j;
    cin>>n;
    for(i=2;i<=n;i++)
    {
        for(j=2;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                t=1;
                break;
            } 
        }
        if
(t==0) { a[s]=i; s++; } t=0; } for(i=1;i<s;i++) { if((a[i]-a[i-1])==2) count++; } cout<<count; return 0; }