数值的整数次方
来源:互联网 发布:软件质量保证计划模板 编辑:程序博客网 时间:2024/05/08 01:07
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
考察:指数的正负、底数是否为零等情况
1、首先判断指数为正还是为负,或者是为0(为0直接返回1)。
2、根据快速简单幂方法求得指数为正的答案。
3、判断指数:为正,直接返回结果值;为负,返回结果值的倒数(一个数的-p次幂等一这个数的p次幂的倒数)。
class Solution {public: double Power(double base, int exponent) { double res = 1; int p = exponent; double curr = base; if(exponent < 0){ while(base == 0) return 0; p = -exponent; }else if(exponent > 0){ p = exponent; }else{ return 1; } while(p){ if(p&1) res = res*curr; p = p>>1; curr *= curr; } return (exponent >=0)?res:1/res; }};思路2:直接计算法
直接判断三种情况,指数大于,小于,等于 0。
指数小于0时,注意指数为0的情况。
class Solution {public: double Power(double base, int n) { double res = 1; if(n == 0) res = 1; else if(n < 0){ while(n == 0) return 0; n = 0-n; for(int i = 1; i<=n; i++){ res = res*base; } res = 1/res; } else{ while(base == 0) return 0; for (int i = 1; i<=n; i++) res = res*base; } return res; }};
阅读全文
0 0
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 智能指针auto_ptr、scoped_ptr、shared_ptr和weak_ptr
- ACM题集以及各种总结大全
- HDU 4764 Stone 巴什博弈
- opencv1.0使用cvLoadImage读取一个文件夹下连续编号的图片
- kotlin 语法基础-平台提供的数据类型
- 数值的整数次方
- 费用
- 同余+最短路 做完全背包
- pomelo-robot-demo运行时遇到的问题
- English words page five
- UE4笔记--创建右键菜单
- Maven项目转Gradle项目
- c++中堆栈
- UVa11809-Floating-Point Numbers