數值的整數次方

2021-10-08 22:20:22 字數 796 閱讀 4528

注意指數為負數的情況!

方法一:暴力方法

很顯然就是n個b相乘。迴圈n次。

class

solution

double ret =

1.0;

for(

int i=

0; i++i) ret *= b;

return ret;}}

;

時間複雜度:o(n)

空間複雜度:o(1)

class

solution

else

}double

power

(double b,

int n)

return

q_power

(b, n);}

};

時間複雜度:o(logn),每次規模減少一半

空間複雜度:o(logn),遞迴棧,因為要記住logn個變數

class

solution

double x = b;

// 記錄x^0, x^1, x^2 ...

double ret =

1.0;

while

(n) x *= x;

n >>=1;

}return ret;}}

;

上述方法相當於遍歷n的二進位制位,是1就乘進結果

時間複雜度:o(logn),因為n的二進位制位個數為logn

空間複雜度:o(1)

數值整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...

數值整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...

數值的整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大樹問題。這道題目有以下幾點需要注意 0的0次方是無意義的,非法輸入 0的負數次方相當於0作為除數,也是無意義的,非法輸入 base如果非0,如果...