PAT 1007 素數對猜想

2021-09-10 16:50:14 字數 596 閱讀 3565

c++ vector陣列的使用 轉)

素數判斷方法:

1、:#判斷從2到number-1的每乙個數是否可以被number整除

2、#最小的除數是2,不可能有大於 number/2 的約數的,順便取整

3、#從約數都是兩兩一對的,只需要嘗試當中一半即可;最合理的是嘗試小於其平方根的每個值,即從2到sqrt(number)

4、  如果乙個數 c 能被 (a*b) 整除,顯然, c%a 或者 c%b 餘數都是零,也就是說乙個數肯定能被它的約數的約數整除

因此,一切合數作為除數都是重複勞動,綜上,只需要判斷乙個數能否被小於它的平方根的素數整除,故建立素數的陣列

#include#include#include#includeusing namespace std;

int main(){

int num;

cin>>num;

vectorprimes; //儲存素數的容器

primes.push_back(2);

bool isprime;

for(int i=3;i<=num;i++){

isprime=true;

for(int j=0;j

PAT1007 素數對猜想

讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...

PAT 1007 素數對猜想

讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...

PAT 1007 素數對猜想

題目描述 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。...