题目:
解答:
快速幂。
1 class Solution { 2 public: 3 double myPow(double x, int n) 4 { 5 double res=1.0; 6 int i=n; 7 while(i) 8 { 9 if(i&1) 10 { 11 res*=x; //i的低位存在,res*x 12 } 13 x*=x; //x扩大为它的平方,因为二进制每位的差距是平方关系 14 i/=2; //i向0靠近 15 } 16 return n < 0 ? 1/res:res; 17 } 18 };
原文:https://www.cnblogs.com/ocpc/p/12857043.html