Pow(x, n)
可以直接用庫函數pow(x,n)一步搞定,但明顯這樣就沒意思了。class Solution { public: double myPow(double x, int n) { if(n<0) return 1.0/myPow_1(x,-n); else return myPow_1(x,n); } double myPow_1(double x,int n) { if(n==0) return 1.0; double y=myPow_1(x,n/2); // 不能用n>>1 T_T 不知道什麼原因 if(n&1) return y*y*x; else return y*y; } };
class Solution { public: double myPow(double x, int n) { if(n<0){ n=-n; x=1.0/x; } double ans=1; while(n){ if(n&1) ans=ans*x; x=x*x; n=n/2; } return ans; } };