double ksm(double a,int B)
{
long b=B;
if(b<0){
b=-b,a=1/a;
}
if(a == 0) return 0;
else if(a == 1 || b == 0) return 1;
else if(b == 1) return a;
else if(b % 2 == 0) return ksm(a,b/2) * ksm(a,b/2);
else if(b % 2 == 1) return ksm(a,b/2) * ksm(a,b/2) * a;
}
快速幂的实现采用的是二分,分治的方法,仔细一看就可以理解