Implement pow(x, n).
解题思路:
直接使用乘法实现即可,注意下,如果n很大的话,递归次数会太多,因此在n=10和n=-10的地方设置一个检查点,JAVA实现如下:
static public double myPow(double x, int n) { if(n==1) return x; else if(n>1&&n<=10) return myPow(x,n-1)*x; if(n>10) return myPow(myPow(x,10),n/10)*myPow(x,n%10); else if(n==-1) return 1/x; else if(n<-1&&n>=-10) return myPow(x,n+1)*(1/x); else if(n<-10) return myPow(myPow(x,10),n/10)*myPow(x,n%10); else return 1; }
时间: 2024-10-05 05:41:27