import java.util.Scanner;
public class DateTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
//第一次换的瓶子
int m=T/2;
DateTest dateTest = new DateTest();
//第一个参数,第一次换的总数,
//第二个参数,换前剩余总空瓶子
//第三个参数,换前剩余总空瓶盖
System.out.println("总数"+dateTest.pin(m,0,0));
}
int pin(int m,int n,int k){
if(m+n<2&&m+k<4){
return m;
}
//剩的
int r1=n;
int r2=k;
//总数
int rn1=m+n;
int rn2=m+k;
//当前遗留
r1=rn1;
r2=rn2;
//新酒
int nj=0;
if(rn1>1){
//酒瓶换
r1=rn1%2;
rn1=rn1/2;
nj+=rn1;
}
if(rn2>3){
//瓶盖换
r2=rn2%4;
rn2=rn2/4;
nj+=rn2;
}
return m+pin(nj,r1,r2);
}
}
一瓶啤酒2元钱,两个空瓶换一瓶,4个瓶盖换一瓶,10元买多少瓶?递归实现
于 2022-09-26 17:29:05 首次发布