計算數字的 N 次冪
以下方法使用遞迴計算 num
的值,使其增加到 exp
的冪:
public long power(final int num, final int exp) {
if (exp == 0) {
return 1;
}
if (exp == 1) {
return num;
}
return num * power(num, exp - 1);
}
這說明了上面提到的原則:遞迴方法實現了一個終止遞迴的基本情況(兩種情況,n = 0 和 n = 1),以及一個再次呼叫該方法的遞迴情況。該方法是 O(N)
,並且可以使用尾呼叫優化簡化為簡單迴圈。