數值的整數次方
效率0(lgn)
這個求冪函式無論 基數 或 次方 為 正數或者為負數都是成立的.只是他們都為整數罷了。
注意了哦,這個**必須要用python3才能執行正確,因為python3的 整數除以整數 可以得到 小數。 1/2 = 0.5。 python2 1/2 = 0.
1#!/usr/bin/env python323
defpow1(base, exponent):
4if exponent == 0: return 1
5if exponent == -1: return (1/base)
6if exponent & 1 == 1:
7return base * pow1(base, exponent-1)
8else:9
return pow1(base * base, exponent >> 1)
1011
if__name__ == "
__main__":
12print(pow1(-2,-5))
-5 // 2= -3
-3 // 2 = -1
-1 // 2 = -1
所以當exponent為 -1 時,返回 1/base.
常規求冪 二分求冪 快速位求冪
題目描述 給定數字a,b,求a b。思路 解法包括常規求冪 二分求冪 快速求冪 位運算 每一種求法中,要根據b的值進行討論,b 0,0,0。1 常規求冪 常規求冪即是根據ans a a a a。根據b的個數來就行求解 2 二分求冪 二分求冪是可以將乘法進行分組 比如a a a a a a a a a...
常規求冪 二分求冪 快速位求冪
我是因為刷杭電的題目了解到了冪運算,那就貼一下杭電的題目好了 然後在貼一下別人關於冪運算的部落格 題目描述 給定數字a,b,求a b。思路 解法包括常規求冪 二分求冪 快速求冪 位運算 每一種求法中,要根據b的值進行討論,b 0,0,0。1 常規求冪 常規求冪即是根據ans aaa a。根據b的個數...
二分求冪,快速求冪
1 2 3 4 5 6 7 8 9 10 11 12 intpow3 inta,intb returnr 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 intpow4 intx,intn result x n 1 whil...