有20元钱,一元可以买一瓶汽水,两个空瓶可以换一瓶汽水,总共可以喝多少瓶

2025年03月22日 04:26
有4个网友回答
网友(1):

20元可买【20】瓶 得瓶20个→可换【10】 喝完得瓶10→可换【5】 喝完得瓶5→可换【2】余下1,喝完瓶为2+1 →可换【1】余下1,喝完瓶为1+1→可换【1】,喝完余瓶1
再向老板借一空瓶 1+1 可换【1】瓶,再把瓶还给老板 所以可以喝到(20+10+5+2+1+1+1)=40瓶

网友(2):

20元买20瓶,喝完兑换10瓶(30),10瓶喝完兑换5瓶(35),5瓶兑换2瓶(37)剩余一个空瓶,喝2瓶在兑换1瓶(38),喝完加上剩余的1个 可以兑换一瓶(39),1瓶喝完交给对方换一瓶(40),喝完把瓶子给人家(等于先预借一个瓶,喝完空瓶再兑换) 40瓶

网友(3):

用递归的方法

//第一题

public static int sum(int n) {

int s=n;

if(n>1) 

s+=sum(n-1);

return s;

}

//第二题

/**

* 计算空瓶瓶和盖盖能换多少瓶的方法。

* @param p 空瓶瓶个数

* @param g 盖盖个数

* @return  兑换的汽水瓶数

*/

public static int Cola(int p,int g) {

int s=p/2+g/3 ;//第一次兑换的瓶数

if(g>=3 || p>=2) {//能够兑换的条件

//一瓶汽水就有一个空瓶和瓶盖,不要忘记兑换剩下的空瓶和盖子

s+=Cola(s+p%2,s+g%3);

}

return s;

}

/**

* 计算能喝汽水的总瓶数的方法

* @param y 买汽水的钱

* @return  能喝汽水的总瓶数

*/

public static int AllCola(int y) {

//买的汽水和兑换的汽水之和为所求

return y+Cola(y, y);

}

网友(4):

37