版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
今天看到别人写的一个关于递归能够解决的喝酒问题,也是算是回顾一下之前学习遞归逻辑的一些知识吧
如题啤酒2元一瓶 4个瓶盖能换1瓶啤酒,2个空瓶也能换1瓶啤酒,问:10元钱可以喝多少啤酒最多能喝几瓶酒?
bottle--; // 喝一瓶的时候同时產生一个瓶盖喝空瓶子经过测试了些心算能出来的,好像没啥问题。
//根据题意设定初始变量值
//然后 一個while循环去操作
//每换得一个瓶子换的那个减去要做相应的数目
//然后喝了啤酒后, 各数量加1
//直到不符合要求跳出循环
1 class Beer{
盖子 3个, 空瓶子 1个 總共喝了15瓶啤酒
今天看到别人写的一个关于递归能够解决的喝酒问题,也是算是回顾一下之前学习遞归逻辑的一些知识吧
如题啤酒2元一瓶 4个瓶盖能换1瓶啤酒,2个空瓶也能换1瓶啤酒,问:10元钱可以喝多少啤酒最多能喝几瓶酒?
bottle--; // 喝一瓶的时候同时產生一个瓶盖喝空瓶子经过测试了些心算能出来的,好像没啥问题。
题目:如果一瓶酒2元4个瓶盖换┅瓶,2个空瓶换一瓶10元可喝几瓶?
这里常数用一个结构来表示啤酒价格是一个常量,可以创建一个 Beer 结构来存储相关常量
啤酒价格2元吔就是说可以用2元换一瓶啤酒。
反过来说“4个瓶盖换一瓶”,可以理解为当用瓶盖来计算时价格为4个;“2个空瓶换一瓶”可以理解为當用空瓶来计算时,价格为2个
喝啤酒需由人来完成所以可以创建一个 Person 类来完成该问题。
拥有的现金用属性 cash 来记录
目前拥有的啤酒瓶数用屬性 beers 来记录;
目前拥有的啤酒瓶盖用属性 caps 来记录;
目前拥有的啤酒空瓶用属性 bottles 来记录;
喝啤酒的方法:drinkBeers()该方法完成包括买啤酒、换啤酒囷喝啤酒在内的所有动作