剑指offer第十二题【数值的整数次方】c++实现
2015-10-15 08:11
369 查看
数值的整数次方
参与人数:2920时间限制:1秒空间限制:32768K
通过比例:25.37%
最佳记录:0 ms|8552K(来自 ccnew)
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
这道题指数不会大,直接for循环也能做,但我习惯性用快速幂去做
本题就是指数可能为负的,取倒数就可以了。
double Power(double base, int exponent) {
bool flag=false;
if(exponent<0){
exponent=-exponent;
flag=true;
}
double res=1;
while(exponent>0){
if(exponent&1){
res*=base;
}
base*=base;
exponent>>=1;
}
if(flag==true){
return 1/res;
}
return res;
}
参与人数:2920时间限制:1秒空间限制:32768K
通过比例:25.37%
最佳记录:0 ms|8552K(来自 ccnew)
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。这道题指数不会大,直接for循环也能做,但我习惯性用快速幂去做
本题就是指数可能为负的,取倒数就可以了。
double Power(double base, int exponent) {
bool flag=false;
if(exponent<0){
exponent=-exponent;
flag=true;
}
double res=1;
while(exponent>0){
if(exponent&1){
res*=base;
}
base*=base;
exponent>>=1;
}
if(flag==true){
return 1/res;
}
return res;
}
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua和C语言的交互详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总