題目要求:
讓我們定義dn為:dn=pn+1−pn,其中pi是第i個素數。
顯然有d1=1,且對於n>1有dn是偶數。
「素數對猜想」認為「存在無窮多對相鄰且差為2的素數」。
現給定任意正整數n(<105),請計算不超過n的滿足猜想的素數對的個數。
輸入格式:
輸入在一行給出正整數n。
輸出格式:
在一行中輸出不超過n的滿足猜想的素數對的個數。
輸入樣例:
20
輸出樣例:
4
**:
#include
#include
using
namespace std;
//如果不是素數返回0,如果是素數,返回1
intisprime
(int n)
//}for
(i =
2; i <=
sqrt
(n); i++)if
(n%i ==0)
return0;
return1;
}int
main()
// i = j - 1;
// break;
// }
// }
//}//注意二:一開始想得太複雜了,倆個素數之間是固定的差值,所以可以直接使用下面的方法
// 最好寫成i-2的形式,因為如果寫i+2還要判斷i+2是否比n大
//注意三:題目上給的是「不超過n」,所以可以等於n,注意這點if(
(isprime
(i)==1)
&&(isprime
(i -2)
==1))
} cout << num;
return0;
}
注意:
主要關注一下上面談到的那幾個方面。
1007素數對猜想
讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...
1007 素數對猜想
讓我們定義 dn 為 dn pn 1 pn 其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...
1007 素數對猜想
讓我們定義dnd nd n 為 dn pn 1 pnd n p p nd n p n 1 p n 其中pip ip i 是第iii個素數。顯然有d1 1d 1 1d 1 1,且對於n 1n 1n 1有dnd nd n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10...