使用java的递归完成:啤酒2元一瓶,4个盖子可以换一瓶,2个空瓶可以换一瓶, 请问N元钱可以喝多少瓶酒,剩余多少空瓶和盖子?
时间: 2023-03-25 15:04:00 浏览: 100
您好,根据您的描述,使用Java递归可以解决这个问题。以下是代码示例:
```
public class Beer {
public static void main(String[] args) {
int n = 20; // 假设有20元钱
int beer = n / 2; // 可以买的啤酒数量
int cap = beer; // 盖子数量
int bottle = beer; // 空瓶数量
exchange(cap, bottle, beer);
System.out.println("可以喝" + beer + "瓶酒,剩余" + cap + "个盖子和" + bottle + "个空瓶。");
}
public static void exchange(int cap, int bottle, int beer) {
if (cap < 4 && bottle < 2) {
return;
}
int newBeer = (cap / 4) + (bottle / 2);
beer += newBeer;
cap = cap % 4 + newBeer;
bottle = bottle % 2 + newBeer;
exchange(cap, bottle, beer);
}
}
```
以上代码可以计算出20元钱可以喝10瓶酒,剩余2个盖子和1个空瓶。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)