您的位置:首页 > 编程语言 > Java开发

递归思想----解决饮料问题

2017-10-02 12:34 253 查看
/**
*问题:假如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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  递归 recursion class java