遞歸算法要求
- 每次調(diào)用在規(guī)模上都有所縮小泊柬;
- 相鄰兩次重復(fù)之間有緊密的聯(lián)系椎镣,前一次要為后一次做準(zhǔn)備(通常前一次的輸出就作為后一次的輸入);
- 在問題的規(guī)模極小時必須用直接給出解答而不再進(jìn)行遞歸調(diào)用兽赁,因而每次遞歸調(diào)用都是有條件的(以規(guī)模未達(dá)到直接解答的大小為條件)状答,無條件遞歸調(diào)用將會成為死循環(huán)而不能正常結(jié)束。
計算階乘
public class FactorialTest {
public int factorial(int i) {
if (i == 1) {
return 1;
} else {
return i * factorial(i - 1);
}
}
}