求幂,杨幂。。。好吧,很冷
solutions:
double pow(double x, int n) {
if(n==0)
return 1;
else if(n>0){
if(n%2==0){
double temp=pow(x,n/2);
return temp*temp;
}
else{
double temp=pow(x,n/2);
return temp*temp*x;
}
}
else{
int m=-n;
if(m%2==0){
double temp=pow(x,m/2);
return 1/(temp*temp);
}
else{
double temp=pow(x,m/2);
return 1/(temp*temp*x);
}
}
}
这里的问题是:当x=-2147483648时,-x=x=-2147483648,why?需要写个问题去stackoverflow上问一哈!