/**
*问题:假如1块钱可以买1瓶汽水,3个瓶盖可以换一瓶汽水
* ,2个空瓶可以换一瓶汽水,编一段程序计算20块钱
* 总共可以买多少瓶汽水?
*/
public class recursion {
public static int drinksNum;
public static int bottle;
public static int cap;
/**
* 获取初始数目即赋初值
* @param money
*/
public static void buydrinks(int money) {
drinksNum = money;
bottle = money;
cap = money;
}
/**
* 根据瓶子即瓶盖数判断是否满足兑换条件
* @return 返回值为最终所得数目
*/
public static int getNum(){
if(cap/3>=1||bottle/2>=1) {
int temp = (cap/3+bottle/2); //兑换的饮料数目
drinksNum += (cap/3+bottle/2); //增加后的饮料数目
bottle =bottle -(bottle/2)*2 +temp;//兑换后的空瓶数目
cap =cap - (cap/3)*3+temp; //兑换后的盖子数目
getNum();
}
return drinksNum;
}
public static void main(String[] args) {
buydrinks(20);
int count = getNum();
System.out.println(count);
}
}
递归思想----解决饮料问题
最新推荐文章于 2023-11-21 13:47:40 发布