面试题16: 数值的整数次方
/*******************************************************************
*《剑指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: 数值的整数次方相关推荐
- 剑指offer:面试题16. 数值的整数次方
题目:数值的整数次方 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 示例 1: 输 ...
- 剑指offer面试题16. 数值的整数次方(二分法)
题目描述 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 思路 详见链接 代码 cl ...
- 【LeetCode】剑指 Offer 16. 数值的整数次方
[LeetCode]剑指 Offer 16. 数值的整数次方 文章目录 [LeetCode]剑指 Offer 16. 数值的整数次方 package offer;public class Soluti ...
- 【附可运行代码】剑指 Offer 16. 数值的整数次方
立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...
- 《剑指offer》c++版本 16.数值的整数次方
如题: 题目要求一个数的N次方,且不需要考虑大数,看似简单,for循环搞定.仔细详细,问题还挺多.比如,base为0或者指数为负,同时浮点数和0比较也是个问题.很多时候,面试官出的题目看似简单,但如果 ...
- 剑指offer——16.数值的整数次方
题目: 实现求base的exponent次方 知识点: 判断奇数还是偶数,a&1==1: 某数除以二,a >>= 1; a>0? res=1:res=2,当满足条件时,选前者 ...
- 剑指 Offer 16. 数值的整数次方
思路:快速幂模板,主要要注意负数的范围,乘以负一的时候会溢出,所以开一下longlong class Solution { public:double myPow(double x, int n) { ...
- 【LeetCode笔记】剑指 Offer 16. 数值的整数次方(Java、分治)
文章目录 题目描述 思路 && 代码 二刷 题目描述 很棒的题目!便于分治思想的理解! 思路 && 代码 分情况是大头- 递归结束的情况: x0x^0x0 = 1 x1 ...
- 【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 ...
最新文章
- win内置ubuntu安装_win10安装内置ubuntu教程
- Caused by: java.lang.NoSuchMethodException: onClick_Flashlight [class android.view.View]
- mysql 进阶到高级_mysql的高级进阶(一)
- python入门之函数结构函数的参数_python3基础之函数参数类型
- ASP.NET Core依赖注入解读amp;使用Autofac替代实现
- 服务器中有两个R文件夹,一台服务器中配置多个git sshkey
- javascript 分时函数 分批次添加DOM节点 timeChunk
- execCommand全集
- ideal如何快速导入import_【MAC版】pr预设安装目录?pr如何快速批量导入lut
- 某交规模拟考试系统验证绕路手记
- android 日志泄露,安卓Hacking Part 4:非预期的信息泄露(边信道信息泄露)
- 对于基类和派生类中的多态及重载的最好解释方法
- Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat
- Linux中缺32位运行库steam,Steam游戏必备运行库
- 335游戏C/S登录器,补丁更新、自动登录、信息手册
- 电子负载的 Von/Voff 设置
- glibc 2.17升级2.28,gcc 4.8.5升级9.2.0,GNU Make 3.82 升级到4.2.1,安装bison
- 欧姆龙PLC以太网与西门子WINCC通讯
- PTA 7-4 平面向量加法
- 爽!一个注解,搞定 SpringBoot 操作日志
热门文章
- UVA 10245 The Closest Pair Problem
- Android之Providing Resources(提供资源)
- vs2005sp1安装加速
- 在元素前面添加一个伪元素下边框
- Docker的使用初探(二):Docker与.NET Core的结合
- 全球最性感的13大仿真机器人 功能太全难把持!
- 软件项目开发计划书【申明:来源于网络】
- checkbox:获取所有已选中的值
- DeviceToken 获取失败,原因:Error Domain=NSCocoaErrorDomain Code=3000 未找到应用程序的“aps-environment”的授权字符串......
- ie不支持getElementsByName的解决办法