我正在寻找一种编码程序的方法,该程序只使用递归循环将整数乘以指数.我对递归的理解非常有限,但是能够编写一些东西来给出一个阶乘:
int fac2(int n)
{
if (n == 1){
return 1;
} else {
return n*fac2(n-1);
}
}
Run Code Online (Sandbox Code Playgroud)
我有办法找到一个力量,但它使用了一个for循环:
int my_power(int x, int e)
{
int i, total;
total = 1;
for (i = 1; i <= e; i++){
total *= x;
}
return total;
}
Run Code Online (Sandbox Code Playgroud)
如何使用递归替换此for循环?
int my_power (int x, int e) {
if (e == 0) return 1;
return x * my_power(x, e-1);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4124 次 |
| 最近记录: |