注意:考虑指数小于1的·情况:求绝对值的结果后再求倒数
a^n=a^(n/2)*a^(n/2) n为偶数
a^n=a^(n/2)*a^(n/2) *a n为奇数
double power1(double a, int n){ if( n==0) return 0; if( n==1) return a; double result = power1(a ,n>>1); result *=result; if( n&1==1) result*=a; return result; }
注意:考虑指数小于1的·情况:求绝对值的结果后再求倒数
a^n=a^(n/2)*a^(n/2) n为偶数
a^n=a^(n/2)*a^(n/2) *a n为奇数
double power1(double a, int n){ if( n==0) return 0; if( n==1) return a; double result = power1(a ,n>>1); result *=result; if( n&1==1) result*=a; return result; }