编写函数“int duck(int n)”表示经过n个村子后剩下的鸭子数目。已知每经过一个村子都卖掉现存的鸭子的一半又一只,经过7个村子后还剩下2只鸭子,所以duck(7)的值是2,而duck(6)的值应该是(duck(7)+1)*2,duck(5)的值应该是(duck(6)+1)*2,以此类推,可以写出递归函数。
时间: 2024-03-10 21:49:06 浏览: 83
递归函数演示
可以使用递归函数来求解这个问题,具体实现如下:
```
int duck(int n) {
if (n == 7) {
return 2;
} else {
return (duck(n+1) + 1) * 2;
}
}
```
当 n 等于 7 的时候,直接返回2,否则递归调用 duck 函数求解 duck(n+1) 的值,并根据题目要求计算出 duck(n) 的值并返回。
阅读全文