数值的整数次方
效率0(lgn)
这个求幂函数无论 基数 或 次方 为 正数或者为负数都是成立的.只是他们都为整数罢了。
1 #!/usr/bin/env python3 2 3 def pow1(base, exponent): 4 if exponent == 0: return 1 5 if exponent == -1: return (1/base) 6 if exponent & 1 == 1: 7 return base * pow1(base, exponent-1) 8 else: 9 return pow1(base * base, exponent >> 1) 10 11 if __name__ == "__main__": 12 print(pow1(-2,-5))
-5 // 2= -3
-3 // 2 = -1
-1 // 2 = -1
所以当exponent为 -1 时,返回 1/base.
原文:http://www.cnblogs.com/xautxuqiang/p/6440235.html