Pow(X,n)
2015-09-15 22:52
225 查看
Pow(x, n)
Implement pow(x, n).
计算x^n,普通解法会超时,考虑二分求解,将n次计算乘积的过程二分优化,避免超时。
n为偶数时,如2,4,6。。。考虑x^n==(x^(n/2))*(x^(n/2)),用这种方法可以现将x^2的结果保存下来,再使n=n/2,即可达到二分降低计算次数的过程,如果n为奇数,则直接计算乘积的结果。
代码如下:
Implement pow(x, n).
计算x^n,普通解法会超时,考虑二分求解,将n次计算乘积的过程二分优化,避免超时。
n为偶数时,如2,4,6。。。考虑x^n==(x^(n/2))*(x^(n/2)),用这种方法可以现将x^2的结果保存下来,再使n=n/2,即可达到二分降低计算次数的过程,如果n为奇数,则直接计算乘积的结果。
代码如下:
class Solution { public: double myPow(double x, int n) { //判断n是否为负数 if(n<0) { x=1/x; n=-1*n; } double result=1; /*判断n的奇偶,奇数存结果,偶数降低次幂,底数翻倍*/ while(n>0) { n&1?result*=x:n=n; n>>=1; x*=x; } return result; } };
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- SQL语言查询基础:连接查询 联合查询 代码
- 论坛头像随机变换代码
- .NET 常用功能和代码小结
- C#实现压缩HTML代码的方法
- asp编程中常用的javascript辅助代码第1/2页
- C#超实用代码段合集
- Javascript代码在页面加载时的执行顺序介绍
- JS实现图片无间断滚动代码汇总
- 我的论坛源代码(二)