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> = 0?ANS:1 /のANS; } }。