1007 素數對猜想
阿新 • • 發佈:2021-01-05
技術標籤: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;
}