我们知道C++中是有pow函数的,我们这次自己来写个,因为有这样的算法题目。
所需数学知识:
大致考虑正数,0,负数即可。n多个数相乘的问题。
1.简单For循环
这还不简单,马上写一个for循环:
double pow(double x, int n){
int m = abs(n);
double result = 1;
for(int i = 0; i < m; ++i){
result *= x;
}
return n > 0 ? result : 1/result;
}
2.最慢的递归求解
受 1+2+3+4+5...+N的问题用递归求解思路影响,我们知道这里可以用一个非常慢的递归来求解。
double pow(double x, int n){
if(n == 0){