幂方

 

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
 
保证base和exponent不同时为0

 

    def Power(base, exponent):
       # 公式a^n=a^(n/2)*a^(n/2)    n是偶數
       # a^n = a^(n/2)*a^(n/2)&a    n是奇数
        if exponent<0:
            return 1/slove(base,-exponent)
        else:
            return slove(base,exponent)
        
    def slove(base, n):
        if n == 0: 
            return 1
        if n == 1: 
            return base
        if n%2 == 0:
            return slove(base,n/2)*slove(base,n/2)
        else:
            return slove(base,n/2)*slove(base,n/2)*base

  

 

posted @ 2019-10-08 23:56  知是行之始,行是知之成  阅读(278)  评论(0编辑  收藏  举报