题目
实现x的n次幂。
问题分析:
当n大于零,等于零,小于零时都需要分析
思路:反复迭代,利用通过二进制位进行缩短计算时间。
力扣通过代码:
double myPow(double x, int n) { long nn=n; double ret=1; if(x==1||x==0) { return x; } if(n==0) { return 1; } if(n < 0) { x = 1/x; nn *= -1; } while(nn!=0) { if(nn&1) { ret *= x; } x*=x; nn/=2; } return ret; }
又是麻木的一天,喜欢暴力求解的我感到万分难过。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【力扣C语言】每日一题—第50题,Pow(x,n)
发表评论 取消回复