例:某人有x元钱, 1元钱1瓶饮料,两个空瓶可以换一瓶饮料,编程实现此人最多能喝多少瓶饮料?
分析:
1、x为1或0元,则做多能喝x瓶。
2、x大于等于2元,则喝两瓶,换一瓶(1元),相当于还剩x-1元。
int drinkNum(int x) {
assert(x >= 0);
if (x <= 1) {
return x;
} else {
return 2 + drinkNum(x-1);
}
}
例:某人有x元钱, 1元钱1瓶饮料,两个空瓶可以换一瓶饮料,编程实现此人最多能喝多少瓶饮料?
分析:
1、x为1或0元,则做多能喝x瓶。
2、x大于等于2元,则喝两瓶,换一瓶(1元),相当于还剩x-1元。
int drinkNum(int x) {
assert(x >= 0);
if (x <= 1) {
return x;
} else {
return 2 + drinkNum(x-1);
}
}