关于用递归解决空瓶子和瓶盖换汽水的问题
这是我在中秋节自己写出来的代码,本来这道题是我在天津达内上java课的时候,老师给我们出的题目
题目为:一个人去买汽水,1块钱买一瓶汽水,3个瓶盖可以
换一瓶汽水,2个空瓶也可以换一瓶汽水,
问:20块钱能喝多少瓶汽水
编写一段代码完成上述需求。
package ex;
public class digui02 {
/**
*
* 一个人去买汽水,1块钱买一瓶汽水,3个瓶盖可以
* 换一瓶汽水,2个空瓶也可以换一瓶汽水,
* 问:20块钱能喝多少平汽水
* 编写一段代码完成上述需求。
*
*
* @param args
*/
public static void main(String[] args) {
digui02 digui=new digui02();
int i=20;
int d=digui.drink(i);
System.out.println(d);
}
int i1=0;int i2=0;int i3=0;int i4=0;
int n=20;
public int drink(int i){
i1=i/3;
i2=i/2;
i3+=i%3;
i4+=i%2;
i=i1+i2+i3/3+i4/2;
i3=i3%3;
i4=i4%2;
if(i>0){
n+=i;
drink(i);
}
return n;
}
}
运行结果得113,我用数学笔算验证过了,还画了一大堆瓶子。^ _^