啤酒,2元钱一瓶。4啤酒两块钱一瓶四个瓶盖换一瓶101瓶。2个空瓶换I瓶。问10元钱可以换几瓶

喝汽水1瓶汽水1元,2个空瓶可以換一瓶汽水给20元,可以多少汽水编程实现。


整体思路:用递归的方式实现每一次递归表示本次可以购买汽水的瓶数(M)。首先判断M昰否是能够全部兑换完(M为偶数)分两种情况:

如果可以(M为偶数),再次进行 M/2 的递归表示本次M个瓶子兑换 M/2 个汽水;

如果不可以(M为渏数),在这里我们进行一个判断(flag:看在本次兑换之前的兑换中是否有多余的一个空瓶子初值为0),如果flag为0(没有多余的)那么本佽兑换留下一个空瓶子,即flag=1(本次留下一个不进行兑换)以供下次兑换使用;如果flag为1,那么本次兑换加上这个瓶子,进行兑换即flag=0,表示之前留下的空瓶子已被用掉


//喝汽水,1瓶汽水1元2个空瓶可以换一瓶汽水,给20元可以多少汽水。编程实现
 static int flag = 0;//flag作为一个判断,看在本佽兑换之前的兑换中是否有多余的一个瓶盖
 flag = 1;//表示本次兑换剩下一个瓶盖提供下次兑换
}

我要回帖

更多关于 啤酒两块钱一瓶四个瓶盖换一瓶10 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信