1 class Solution 2 { 3 double solve(double x, int n) //其中n为非负数 4 { 5 if(n == 0) return 1; 6 double res = 1; 7 for(int i = 1;i <= n;i ++) res *= x; 8 return res; 9 } 10 public: 11 double myPow(double x, int n) 12 { 13 if(abs(x) <= 0.00001) return 0; 14 15 if(x == 1) return 1; 16 if(x == -1) 17 { 18 if(n % 2 == 0) return 1; 19 else return -1; 20 } 21 22 if(x > 0 && n == INT_MIN) return 0; 23 if(n >= 0) return solve(x,n); 24 else 25 { 26 double temp = fabs(n); 27 cout << solve(x,temp); 28 return 1.0/(double)solve(x,temp); 29 } 30 } 31 };
根据错误提示,不断调试
原文:https://www.cnblogs.com/yuhong1103/p/12519295.html