1. 程式人生 > 其它 >1007 素數對猜想

1007 素數對猜想

技術標籤:PAT (Basic Level) Practicec語言演算法

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
作者
CHEN, Yue

單位
浙江大學
程式碼長度限制
16 KB
時間限制
200 ms
記憶體限制
64 MB

#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,j,num=0,k=-1;
    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {
        for(j=2;j<=sqrt((double)i);j++)
            if(i%j==0)
                break;
        if(j>sqrt
((double)i))//如果是素數,與上一個素數比較是否相差2 { if((k+2)==i) num++; k=i;//將現在的素數賦值給k,以便與下一個素數比較 } } printf("%d",num); return 0; }