剑指offer——数值的整数次方
来源:互联网 发布:雨露计划软件下载 编辑:程序博客网 时间:2024/06/05 20:55
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
下面来看代码:
public class PowerSolution { public static double Power(double base, int exponent) { //当底数为0,指数小于0,则为非法情况。 if (equal(base,0.0)&&exponent<0) { return 0.0f; } //当指数小于0的时候即求该数的倒数再乘方 if (exponent<0) { int absExponent = -exponent; double result = PowerWithNonNegative(base, absExponent); result = 1.0/result; return result; }else { return PowerWithNonNegative(base, exponent); } } //自定义方法来判断两个double的数是不是相等,因为有误差所以在范围内都认为相等 public static boolean equal(double a, double b){ if (((a-b)>-0.00000001)&&((a-b)<0.00000001)) { return true; }else { return false; } } public static double PowerWithNonNegative(double base, int exponent){ if(exponent==0){ return 1; } if(exponent==1){ return base; } double result = PowerWithNonNegative(base,exponent>>1); result*=result; //如果是奇数次方的情况,最终除2余1要与base相乘 if((exponent&0x1)==1){ result *=base; } return result; } }
0 0
- 剑指offer—数值的整数次方
- 剑指offer—数值的整数次方
- 剑指offer—数值的整数次方
- 剑指offer——数值的整数次方
- 《剑指offer》——数值的整数次方
- 《剑指Offer》学习笔记——数值的整数次方
- 剑指offer——数值的整数次方
- 数值的整数次方——剑指offer
- 剑指offer——数值的整数次方
- 剑指offer——数值的整数次方
- 剑指Offer——(12)数值的整数次方
- 剑指offer——数值的整数次方
- 剑指Offer——数值的整数次方
- 剑指offer——12.数值的整数次方
- 剑指offer——数值的整数次方
- 剑指offer(12)—数值的整数次方
- 剑指Offer之数值的整数次方
- 剑指offer:数值的整数次方
- c语言与c++区别
- building live555 library for iphoneos
- Openssl编程初探
- 被调用函数与堆栈
- android解析xml格式数据
- 剑指offer——数值的整数次方
- Des算法的实现
- 【c++】猜单词游戏
- Train Problem I
- Spring+mybatis配置动态数据源
- WPF-Grid布局控件学习
- 直方图均衡化
- 每天一道算法题(34)——背包问题
- poj1860