實現 pow(x, n) ,即計算 x 的 n 次冪函式。
示例 1:
輸入:
2.00000,10
輸出:1024.00000
示例 2:
輸入:
2.10000,3
輸出:9.26100
示例 3:
輸入:
2.00000,-
2輸出:
0.25000
解釋:2-2
=1/22
=1/4
=0.25
說明:-
100.0
< x <
100.0
n 是 32 位有符號整數,其數值範圍是 [−231
,231 − 1
] 。
解題
順序遞增指數,效率過低;
二分遞增指數,即可;
(1)若n為正數,遞迴計算x的n次方;
(2)若n為負數,遞迴計算x的n次方,再取其倒數;
注意點
int的負數比正數絕對值多1,故longlong儲存;
class
solution
private
:double
pow(
double a,
long
long b)
//b為自然數
if(tmp==b)
return a;
//此時tmp>b
return
sqrt
(a)*
pow(ta,b-tmp/2)
;}};
二分遞迴
每次指數*2,結束條件:指數為1或者指數為所求數即可;
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
遞迴二分法查詢
二分法使用了折半查詢的思想,不斷的變化,陣列下標的起始位置 begin 和終止位置 end 來進行搜尋。我們使用兩種演算法,解決二分查詢 public class solution system.out.println solution.sort number,0,number.length,56 ...
二分法查詢 遞迴
需求 查詢陣列中某個元素的下標 實現方法 二分法查詢 折半查詢,每次把錶分成兩半,因為已經排好序,所以每次只需要和中間的數比較,就能確定要查詢的值在哪一半,然後不斷分成兩半,直到匹配,如果沒有找到,則表示沒有該元素 public static int find int x int min 0 int...