/*******************************************************************
*《剑指Offer——名企面试官精讲典型编程题》C++代码
*
* htfeng
* 2018.09.27
*
* 面试题16: 数值的整数次方
* 题目:实现函数double Power(double base, int exponent),求base的exponent
* 次方。不得使用库函数,同时不需要考虑大数问题。
*******************************************************************/class Solution {public:double PowerWithUnsignedExponent(double base, int absExponent);double Power(double base, int exponent) {g_InvalidInput = false;if (equal(base, 0.0) && exponent < 0) {g_InvalidInput = true;return 0.0;}unsigned int absExponent = (unsigned int)(exponent);if (exponent < 0)absExponent = (unsigned int)(-exponent);double result = PowerWithUnsignedExponent(base, absExponent);if (exponent < 0)result = 1.0 / result;}double PowerWithUnsignedExponent(double base, unsigned int exponent) {if (exponent == 0)return 1;if (exponent == 1)return base;double result = PowerWithUnsignedExponent(base, exponent >> 1);result *= result;if (exponent & 0x1 == 1)result *= base;return result;}
private:int g_InvalidInput = false;
};

转载于:https://www.cnblogs.com/htfeng/p/9931717.html

面试题16: 数值的整数次方相关推荐

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

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

  2. 剑指offer面试题16. 数值的整数次方(二分法)

    题目描述 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 思路 详见链接 代码 cl ...

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

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

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

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

  5. 《剑指offer》c++版本 16.数值的整数次方

    如题: 题目要求一个数的N次方,且不需要考虑大数,看似简单,for循环搞定.仔细详细,问题还挺多.比如,base为0或者指数为负,同时浮点数和0比较也是个问题.很多时候,面试官出的题目看似简单,但如果 ...

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

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

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

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

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

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

  9. 【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. win内置ubuntu安装_win10安装内置ubuntu教程
  2. Caused by: java.lang.NoSuchMethodException: onClick_Flashlight [class android.view.View]
  3. mysql 进阶到高级_mysql的高级进阶(一)
  4. python入门之函数结构函数的参数_python3基础之函数参数类型
  5. ASP.NET Core依赖注入解读amp;使用Autofac替代实现
  6. 服务器中有两个R文件夹,一台服务器中配置多个git sshkey
  7. javascript 分时函数 分批次添加DOM节点 timeChunk
  8. execCommand全集
  9. ideal如何快速导入import_【MAC版】pr预设安装目录?pr如何快速批量导入lut
  10. 某交规模拟考试系统验证绕路手记
  11. android 日志泄露,安卓Hacking Part 4:非预期的信息泄露(边信道信息泄露)
  12. 对于基类和派生类中的多态及重载的最好解释方法
  13. Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat
  14. Linux中缺32位运行库steam,Steam游戏必备运行库
  15. 335游戏C/S登录器,补丁更新、自动登录、信息手册
  16. 电子负载的 Von/Voff 设置
  17. glibc 2.17升级2.28,gcc 4.8.5升级9.2.0,GNU Make 3.82 升级到4.2.1,安装bison
  18. 欧姆龙PLC以太网与西门子WINCC通讯
  19. PTA 7-4 平面向量加法
  20. 爽!一个注解,搞定 SpringBoot 操作日志

热门文章

  1. UVA 10245 The Closest Pair Problem
  2. Android之Providing Resources(提供资源)
  3. vs2005sp1安装加速
  4. 在元素前面添加一个伪元素下边框
  5. Docker的使用初探(二):Docker与.NET Core的结合
  6. 全球最性感的13大仿真机器人 功能太全难把持!
  7. 软件项目开发计划书【申明:来源于网络】
  8. checkbox:获取所有已选中的值
  9. DeviceToken 获取失败,原因:Error Domain=NSCocoaErrorDomain Code=3000 未找到应用程序的“aps-environment”的授权字符串......
  10. ie不支持getElementsByName的解决办法