示例:使用递归计算幂的程序
class Power {
public static void main(String[] args) {
int base = 3, powerRaised = 4;
int result = power(base, powerRaised);
System.out.println(base + "^" + powerRaised + "=" + result);
}
public static int power(int base, int powerRaised) {
if (powerRaised != 0) {
// recursive call to power()
return (base * power(base, powerRaised - 1));
}
else {
return 1;
}
}
}
输出
3^4 = 81
在上面的程序中,您使用递归函数 power() 计算幂。
简单来说,递归函数将基数与其自身相乘 powerRaised 次,即
3 * 3 * 3 * 3 = 81
迭代 | power() | powerRaised | result |
---|---|---|---|
1 | power(3, 4) | 4 | 3 * result2 |
2 | power(3, 3) | 3 | 3 * 3 * result3 |
3 | power(3, 2) | 2 | 3 * 3 * 3 * result4 |
4 | power(3, 1) | 1 | 3 * 3 * 3 * 3 * resultfinal |
最终 | power(3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |
另请阅读