遞迴形式的二分查詢

2021-09-26 06:26:53 字數 689 閱讀 2351

克里斯蒂安·哥德**曾經猜想,每個奇合數可以寫成乙個素數和乙個平方的兩倍之和。

9 = 7 + 2×12

15 = 7 + 2×22

21 = 3 + 2×32

25 = 7 + 2×32

27 = 19 + 2×22

33 = 31 + 2×12

最終這個猜想被推翻了。

最小的不能寫成乙個素數和乙個平方的兩倍之和的奇合數是多少?

關鍵邏輯見**注釋

#include

using namespace std;

#define max_n 100000

int prime[max_n +5]

=;int is_prime[max_n +5]

=;void

init()

}}intfunc

(int n)

bool binary_search

(int

(*f)

(int),

int l ,

int r,

int x)

intis_val

(int x)

return false;

}int

main()

return0;

}

C 二分查詢的遞迴形式和非遞迴形式

二分查詢,又名折半查詢,在有序陣列中查詢元素的效率很高 缺點就是只能查詢有序表,因此適用於不用頻繁插入刪除的有序表 如果沒有二分查詢,通過遍歷來查詢表中元素的時間複雜度為o n 而二分查詢時間複雜度為o lgn 二分查詢的非遞迴形式 int binaryresearchnonr int arr,in...

二分查詢和遞迴的二分查詢

在乙個有序的陣列中查詢給定的資料項,把陣列衝中間分成兩半,然後看要查詢的資料項在陣列的哪一半,再次折半查詢。如下 public int find long searchkey else if lowerbound upperbound else private int recfind long se...

二分查詢及遞迴的二分查詢

一 思路 二分查詢又名折半查詢,顧名思義是分成兩部分,每查詢一次資料減半,所以查詢起來會很快。但是二分查詢的條件是已經有序的資料。1 設定兩個變數i,j.為查詢的範圍,i一般為0,j一般為陣列長度減一 2 設定變數mid,mid為所查陣列範圍的中間位置,即mid i j 2 3 比較所要查詢的資料v...