有人可以向我解释一下。
public int bunnyEars(int bunnies) {
if(bunnies == 0) {
return 0;
}
return 2 + bunnyEars(bunnies - 1);
}
在我看来,兔子的答案是否等于2 将是3而不是4.尽管我知道答案应该是4.
答案 0 :(得分:6)
您可以手动展开递归以验证它确实为每个兔子添加了2个耳朵
bunnyEars(2) => 2 + bunnyEars(1) => 2 + (2 + bunnyEars(0)) => 2 + (2 + 0) => 4
答案 1 :(得分:3)
bunnyEars(2) == 2 + bunnyEars(1) ==
2 + (2 + bunnyEars(0)) == 2 + (2 + 0) == 4