天天看点

求x的n次方结果,时间优化

def solve(list,x,n):
    if n<:     #判断负指数
        flag=
    else:
        flag=
    n=abs(n)    #全设为正
    i=         #从list[2]开始计算
    exp=       #前一个数组的指数状态
    if len(list)>=n+:  #若已经计算过,则返回
        if flag:
            return  / list[n]
        return list[n]
    while True:
        if exp*==n:    #若新指数状态刚好为所求
            result=list[i-]*list[i-]
            if flag:
                return /result
            return result
        elif exp*<n:   #若新指数状态小于所求,则添加新指数结果到末尾
            list.append(list[i-]*list[i-])
        else:           #若新指数超过所求,则指数分解
            result=list[i-]*solve(list,x,n-exp)
            if flag:
                return  / result
            return result
        i=i+
        exp=exp*
x=
n=-
list=[]
list.append()
list.append(x)
result=solve(list,x,n)
print(result)
           

继续阅读