首页 > 试题广场 >

实现阶乘

[编程题]实现阶乘
  • 热度指数:12657 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
请实现函数 pow(x, n).
示例1

输入

6.88023,3

输出

325.69333
#
#
# @param x double浮点型
# @param n double浮点型
# @return double浮点型
#
class Solution:
    def pow(self , x , n ):
        # write code here
        if n==0:
            return 1
        if n==1:
            return x**n
        if n%2==0:
            if n<0:
                return 1/self.pow(x*x,-n/2)
            return self.pow(x*x,n/2)
        else:
            if n<0:
                return 1/(x*self.pow(x*x,-n//2))
            return x*self.pow(x*x,n//2)
非直接方法,采用的递归
发表于 2020-09-18 21:26:15 回复(0)