首页 > 代码库 > Leetcode--Pow(x, n)
Leetcode--Pow(x, n)
Problem Description:
Implement pow(x, n).
分析:题目意思很简单,要求计算x的n次幂,其中x给的是double类型,n需要考虑负数的情况,利用二分的思想每次将n减半,递归计算可以得到最终结果,其中一些细节需要注意,具体的实现代码如下:
class Solution { public: bool isequal(double a,double b) { if(a-b<0.0000001&&a-b>-0.0000001) return true; else return false; } double pow(double x, int n) { double result=1; if(isequal(0.0,x)) return 0; if(n==0) return 1; int flag=1; if(n<0) { flag=-1; n=-n; } result=pow(x,n/2); result*=result; if(n%2==1) result*=x; if(flag==-1) result=1/result; return result; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。