小明有20元买汽水,一元一瓶汽水,每两瓶空瓶就可以换一瓶新的汽水,小明一共可以喝到多少汽水
程序想法:
//代码如下
int main()
{
int money = 20; //初始化小明手中的钱
int a = money; //初始化小明喝的汽水
int b = money; //初始化喝完20瓶汽水空的瓶子
while (b>1)
{
a = a + b / 2;
b = b / 2 + b % 2;
}
printf("%d", a);
return 0;
}
循环时:循环条件当只要空瓶子数量大于1时便进入循环
因为每两个空瓶子才能换取一瓶新的汽水,所以a=a+b/2,将换取的汽水进行加入
因为换取了新的汽水,所以空瓶子数量就要进行b/2,因为瓶子存在奇数的情况下,所以在将b%2加入
运行结果
其实可以耍一个小聪明,就是问老板借一个空瓶子,这样就有两个空瓶子,就又可以换一瓶新的汽水,剩下的空瓶子就可以还给老板,这样自己既多喝了一瓶汽水,问老板借的瓶子也如约还给了老板(当然在程序里还是老老实实按照题目的要求码代码,耍小聪明可以在别人面前玩玩)
好啦,今日的分享就到此结束了,也是自己的第一篇博客,如果有分享不好的地方望大家海涵