/*
* 啤酒问题:
* 啤酒2元一瓶,4个盖子可以换一瓶,两个空瓶可以换一瓶
* 问10元可以喝多少瓶?
* 剩余多少空瓶和盖子。
*
* 分析:
* 10元先换5瓶啤酒,
* 定义变量 total 保存总的瓶数
* 定义变量 temp 保存每次换到的瓶
* 定义变量 bottleCap 保存每次换完酒后的瓶盖数
* 定义变量 bottleBody 保存每次换完酒后的瓶身数
* 当bottleCap < 4 && bottleBody < 2 时结束
*/
public class Beer {
public static void main(String[] args) {
//定义初始变量,10元换5瓶啤酒后 bottleBody=5,bottleCap=5,total=5,temp=0;
drunk1(5,5,5,0);
}
//void递归思路做
public static void drunk1(int bottleBody,int bottleCap,int total,int temp){
if(bottleCap < 4 && bottleBody < 2){
System.out.println("喝了"+total+"瓶酒,剩下瓶身" +bottleBody+ "个,剩下瓶盖"+bottleCap+"个");
return;
}
else {
temp = bottleBody / 2 + bottleCap / 4;
bottleBody = temp + bottleBody % 2;
bottleCap = temp + bottleCap % 4;
total += temp;
drunk1(bottleBody,bottleCap,total,temp);
}
}
}
关于10元可以喝多少瓶啤酒问题
最新推荐文章于 2021-02-25 09:04:58 发布