wk2 50. Pow(x, n)
来源:互联网 发布:js判断页面加载完毕 编辑:程序博客网 时间:2024/06/06 08:44
Difficulty: Medium
Implement pow(x, n).
class Solution {public: double myPow(double x, int n) { double ans=1; long long n1=n; if(n1==0 || x==1) return 1; else if(x==-1) return n%2==0?1:-1; else if(n1<0){ x=1.0/x; n1*=-1; } for(long long i=0; i<n1; i++){ if(ans==0) return 0; ans*=x; } return ans; }};
定义long long int n1来存储指数部分,避免正负转换时溢出。
首先判断x是否为0、1、-1,指数是否为0的特殊情况,再进行迭代计算。计算中判断中间结果是否为0,为0可直接返回。
0 0
- wk2 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50.Pow(x,n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- 50. Pow(x, n)
- (dubbo学习)MyEclipse中构建源码
- 统计住宅_百度笔试
- Mini2440通过NFS加载内核与根文件系统
- 闲的无聊[javascript]
- 反向ssh
- wk2 50. Pow(x, n)
- Water+
- IOS开发中的弹框综述
- 两个升序单向链表的合并
- c语言基础
- Java反射中getXXX和getDeclaredXXX的解析
- final,finally,finalize的区别
- Linux_Ubuntu_openwrt_编译环境准备
- javax.mail.AuthenticationFailedException: 550