解决数值的整数次方问题

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。
不得使用库函数,同时不需要考虑大数问题。
示例 1:输入:x = 2.00000, n = 10
输出:1024.00000
示例 2:输入:x = 2.10000, n = 3
输出:9.26100
示例 3:输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25提示:-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= xn <= 104

题解

class Solution:"""解题思路: 递归法1.如果n为正数,计算x的n次幂分为两种情况:1.如果n为偶数,x的n次幂 = x的n//2次幂 * x的n//2次幂  2.如果n为奇数,x的n次幂 = x的n//2次幂 * x的n//2次幂 * x2.如果n为负数,可以把负数问题转化为正数问题1.x的-n次幂 = 1 / x的n次幂"""def myPow(self, x: float, n: int) -> float:if n >= 0:return self.rPow(x, n)else:# 因为n的最大区间为2的31次幂 - 1, 所以当计算n的-31次幂时# 转换过程出现正数溢出现象,故不能直接使用下面代码# return 1 / self.rPow(x, -n)# 为了避免正数溢出,则把 x的31次幂 分解为x的30次幂 * xreturn 1 / (self.rPow(x, (-1 * (n + 1))) * x)def rPow(self, x, n):if n == 0:return 1if n == 1:return x# 解决重复计算问题half = self.rPow(x, n//2)if n % 2 == 0:return half * halfelse:return half * half * x

python 数值的整数次方相关推荐

  1. 简单实现x的n次方pta_Day12 :数值的整数次方

    剑指Offer_编程题--数值的整数次方 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.保证base和exponent不同时 ...

  2. 剑指offer:面试题16. 数值的整数次方

    题目:数值的整数次方 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 示例 1: 输 ...

  3. double取整数部分_剑指offer_16_数值的整数次方

    //面试题16.数值的整数次方 //题目:实现函数double Power(double base,int exponent),求base的exponent次方. //不得使用库函数,同时需要考虑大数 ...

  4. JAVA实现数值的整数次方(《剑指offern》)

    题目: 给定一浮点数base和int类型的整数exponent.求base的exponent次方 牛客网题目截图: 解答: public class Solution {public double P ...

  5. 题目11 数值的整数次方

    / // 1. 题目11 数值的整数次方 // 1.1 没有考虑负数和0的情况!!!! double Power(double dBase, int iExponent) {double dRes = ...

  6. 面试题16: 数值的整数次方

    /******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...

  7. 算法:数值的整数次方

    /**  *题目:数值的整数次方  *描述:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.  *解决方案:  求次方得考虑exponen ...

  8. 11:数值的整数次方

    /*** 面试题11:数值的整数次方* 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.*/ public class _11_power ...

  9. java中整数的整数次方_数值的整数次方 - 剑指 Offer 学习心得_教程_Java开发社区...

    数值的整数次方 代码实现: [java] view plaincopyprint? public class Test11 { /** * 实现函数double Power(double base, ...

最新文章

  1. Activity如何后台运行?不是缓存,是运行。
  2. 2018年前35名Python面试问题和答案
  3. LeetCode Monotonic Array(数组单调性)
  4. 【转】如何在Mac上卸载Java及安装Java
  5. python计算一年有多少天_Python 案例 004 (计算当前时间是一年中的第几天)
  6. Oracle的体系结构
  7. 阿里云 wdcp面板后台控制安装
  8. 计算机研究生可以参加哪些比赛?
  9. 【图像去噪】基于matlab GUI小波+中值+维纳及频域滤波【含Matlab源码 506期】
  10. SageMath | Crypto Tool
  11. 用纯JavaScript实现的微信二维码图片生成器
  12. 身体质量指数(Body Mass Index,BMI)是根据人的体重和身高计算得出的一个数字,BMI对大多数人来说,是相当可靠的身体肥胖指标,其计算公式为:,其中体重单位为公斤,身高单位为米。编写程序
  13. 许多知名公司宕机现象频繁发生
  14. Linux中使用shell脚本向文件中写数据
  15. 知识图谱与图神经网络_biji
  16. 2017-2018-1 Java演绎法 小组会议及交互汇总
  17. 2022护眼产品展,视力康复展,山东国际眼健康展会,护眼仪展
  18. 翻译: Deep Convolutional Neural Networks for Breast Cancer Histology Image Analysis
  19. EverBox开发笔记-3-iCloud Document Storage
  20. 马士兵学习笔记-Java基础网络编程

热门文章

  1. 设计一个有getMin功能的栈 (python)
  2. Git 笔记 上传文件至github
  3. 摘抄 :methodology 怎么写
  4. 强化学习(九)Deep Q-Learning进阶之Nature DQN
  5. 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
  6. Linux疑难杂症解决方案100篇(十四)-Linux scp 使用详解
  7. 增强学习(Reinforcement Learning and Control)
  8. Linux质数合数的脚本,python输出100以内的质数与合数实例代码
  9. 深度学习100例-卷积神经网络(CNN)3D医疗影像识别 | 第23天
  10. 新手入门深度学习 | 目录