0 题目

给定一个double类型的浮点数base和int类型的整数exp。求base的exp次方。

1 分析

输入的exp指数可能是负数,base可能是0.但因为是double所以不能用等号判断

另外当,base是个大数的时候,循环处理计算量大。因此采用,先计算exp/2的base次方,然后结果翻倍,再判断exp是否是奇数,如果是奇数,再乘依次base

double Power(double base, int exp)
{// exp 为0,直接输出 -1if (exp == 0){return 1;}// base 为0 ,直接输出0if (base < 0.00001 && base > -0.00001){return 0;}// 计算double ret = aux(base, exp > 0 ? exp : -exp);// 考虑exp为负的情况if (exp > 0){return ret;}else{// exp为负,输出他的倒数return 1 / ret;}
}
double aux(double base, int exp)
{if (exp == 0){return 1;}// 这里将 exp 分成3部分计算。 也就是 exp/2 ,exp/2 和 exp 是奇数的时候需要除1double ret = aux(base, exp >> 1);// 翻倍ret *= ret;// 是奇数if (exp & 0x1){ret *= base;}return ret;
}

  

转载于:https://www.cnblogs.com/perfy576/p/8606908.html

剑指offer-11.数值的整数次方实现power相关推荐

  1. 【LeetCode】剑指 Offer 16. 数值的整数次方

    [LeetCode]剑指 Offer 16. 数值的整数次方 文章目录 [LeetCode]剑指 Offer 16. 数值的整数次方 package offer;public class Soluti ...

  2. 剑指Offer #12 数值的整数次方(快速幂)

    题目来源:牛客网-剑指Offer专题 题目地址:数值的整数次方 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和 ...

  3. 【附可运行代码】剑指 Offer 16. 数值的整数次方

    立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...

  4. 《剑指offer》数值的整数次方

    题目:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 分析:熟悉java中Math的话,直接调用即可,深刻说明在常规编程中熟悉java核 ...

  5. 《剑指Offer》 数值的整数次方

    题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路: 直接调用pow函数 代码: class Solution { pub ...

  6. [剑指Offer]:数值的整数次方(循环解答,快速幂---递归、循环)

    文章目录 题目描述 解答思路 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和exponent不同时为0 示例: ...

  7. 剑指offer——16.数值的整数次方

    题目: 实现求base的exponent次方 知识点: 判断奇数还是偶数,a&1==1: 某数除以二,a >>= 1; a>0? res=1:res=2,当满足条件时,选前者 ...

  8. 剑指 Offer 16. 数值的整数次方

    思路:快速幂模板,主要要注意负数的范围,乘以负一的时候会溢出,所以开一下longlong class Solution { public:double myPow(double x, int n) { ...

  9. 【LeetCode笔记】剑指 Offer 16. 数值的整数次方(Java、分治)

    文章目录 题目描述 思路 && 代码 二刷 题目描述 很棒的题目!便于分治思想的理解! 思路 && 代码 分情况是大头- 递归结束的情况: x0x^0x0 = 1 x1 ...

  10. 【leetcode】剑指 Offer 16. 数值的整数次方(shu-zhi-de-zheng-shu-ci-fang-lcof)(快速幂)[中等]

    链接 https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/ 耗时 解题:6 min 题解:6 min 题意 实现 po ...

最新文章

  1. 如何使用React提前三天计划
  2. vue-cli ——解决多次复用含有Echarts图表组件的问题
  3. 皮一皮:现在当爹妈的不容易...
  4. 高级工程师必须精通的七种武器(摘录)
  5. 《程序员跳槽全攻略》笔记
  6. mvdr波束形成原理_5G的“波束赋形”技术是什么东东?
  7. [BZOJ2834]回家的路
  8. Nginx提供静态内容
  9. springboot秒杀课程学习整理1-1
  10. 围绕HugeTLB的极致优化
  11. JAVA标准包不存在_JAVA中引入自建包时提示包不存在
  12. 利用.htaccess绑定域名到子目录
  13. myeclipse copy问题
  14. 排序之快速排序(递归)
  15. java web程序设计任务驱动教程答案,Java Web应用程序开发任务驱动式教程
  16. 恒生电子 java笔试_恒生电子笔试题
  17. mybatis看这一篇就够了,简单全面一发入魂
  18. Ubuntu18.04 + win10 双系统,grub引导配置,美化
  19. python发微信红包_微信现金红包 python
  20. App 运营 推广相关

热门文章

  1. DSP之GPIO(转)
  2. 【Linux】一步一步学Linux——skill命令(143)
  3. c语言 链表 删除节点,C语言实现单链表节点的删除(不带头结点)
  4. centos7 nat模式配置静态ip_Centos7设置静态IP后无法上网的解决方法
  5. 杭电oj java printf_杭电oj1042题大数,java,百思不得其解为何WA,求指教
  6. 基金指数温度怎么算_成都冬季想装明装暖气片那究竟价格应该怎么算?
  7. python面向对象(2)——继承(4)
  8. 和为K的子数组—leetcode560
  9. 切换ubuntu启动方式 命令行/图形界面
  10. python venv windows7_安装 Python、pip 和 venv