Leetcode 50パウ(X、N)(高速電力)

POW(X、I)

(1)は、i%2 == 0 POW(X、I)= POW(X、I / 2)* POW(X、I / 2)。

(2)I%2 = 0 POW(X、I)= POW(X、I-1)* X!。

 

クラス解決{
 パブリックダブル getPow(ダブル X、長い 長いI){
         場合(I == 0リターン 1 もし(I%2 == 0 ){
             ダブル S = getPow(X、I / 2 )。
            リターン秒* 秒。
        } 
        {
             戻り getPowを(X、I - 1)* X。
        } 
    } 
    ダブル MYPOW(ダブルX、int型N){
         長い 長い KN = N。
        もし(KN < 0)KN = ABS(1.0 *のKN)。
        二重 ANS = getPow(X、KN)。
        リターンのn> = 0ANS:1 /のANS; 
    } 
}。

 

おすすめ

転載: www.cnblogs.com/suuusu/p/11069250.html