剑指offer:数值的整数次方
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer:数值的整数次方相关的知识,希望对你有一定的参考价值。
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
class Solution:
def Power(self, base, exponent):
# 任何数的0次方都是1
if exponent == 0:
return 1
# 0的任何次方(除了0的0次方)都为0
if base == 0:
return 0
# 先记录指数符号
sign = exponent > 0
exponent = abs(exponent)
res = 1
cur = base
while exponent != 0:
# 如果输入的指数为奇数,则先将res变成base
# 每当exponent变为奇数的时候,先保存当时的cur
if exponent & 1 == 1:
res *= cur
# 每次将cur平方,exponent除二
cur *= cur
exponent >>= 1
# 如果指数是正数,则直接返回指数结果,否则返回倒数
if sign:
return res
return 1 / res
以上是关于剑指offer:数值的整数次方的主要内容,如果未能解决你的问题,请参考以下文章