- 題目:實現pow函式。
- 題目分析:因為一個一個乘,迴圈太大,參考矩陣連乘問題:對於n=4的話,可以得出x的平方,然後平方與平方相乘。節省計算次數。對於偶數的冪,只要x的平方多次遞迴呼叫即可;對於奇數的冪,只要n-1,就又變成偶數的冪的形式了,無非就是多乘一個x的問題。
- 程式碼:
class Solution { public: //分治法:分而治之 double pow(double x, int n) { if (n < 0) return 1.0/power(x, -n); else return power(x, n); } double power(double x, int n) { if (n == 0) return 1; double result = 0; double temp = pow(x, n/2);//遞迴的處理相乘的冪,重複利用已經的出來的值。 if (n%2 == 1) result = x * temp * temp;//當冪為奇數的時候,多乘一個就變為偶數問題了。 else result = temp * temp;//當冪為偶數的時候, return result; } };
(函式分治法)實現pow函式(x的y次方冪)
相關文章
- 數值得整數次方--模擬pow函式的功能函式
- 一個數number的n次冪 python的pow函式Python函式
- python函式每日一講 - cmp(x,y)Python函式
- (函式)實現strstr函式函式
- 函式的冪級數展開式函式
- javascript 冪函式運算JavaScript函式
- ROUND(x,y)與TRUNC(x,y)函式中y引數值為省略、空值與null的區別函式Null
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- 15.5 函式的冪級數展開式函式
- 一個有用的函式-實現dump函式的convert!函式
- 函式節流、函式防抖實現原理分析函式
- async 函式的實現原理函式
- 去抖函式的實現函式
- bind 函式的實現原理函式
- 【面試】shuffle函式的實現面試函式
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- 【函式】Oracle TRIM函式語法介紹函式Oracle
- 罰函式法函式
- MySQL排名函式實現MySql函式
- MySQL分析函式實現MySql函式
- fcntl函式實現dup函式
- 實現call函式,手寫Function.prototype.call函式函式Function
- js冪函式程式碼例項分享JS函式
- 虛擬函式的實現原理函式
- 字串相關函式的實現字串函式
- javascript函式過載的實現JavaScript函式
- 實現C中的strcpy函式函式
- strlen函式的模擬實現函式
- 實現一個函式,對給定平面任意兩點座標(x 1 ,y 1 )和(x 2 ,y 2 ),求這兩點之間的距離函式
- 不使用日期函式實現ADD_MONTHS函式功能函式
- 15.4 由冪級數確定的函式函式
- PERCENTILE-DISC(X)函式函式
- 從如何編寫冪等Bash指令碼瞭解怎麼實現冪等函式? · Fatih Arslan指令碼函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- 【C語言】常用的字串函式及相關函式的自我實現C語言字串函式
- JavaScript 函式語法JavaScript函式
- Golang實現PHP常用函式GolangPHP函式
- Go實現PHP常用函式GoPHP函式