你喝过汽水吗?喝之前做过预算吗?试一试用C语言“喝”汽水吧

探讨用20元连续兑换并饮用一元汽水的过程及算法实现。通过不断利用空瓶兑换新瓶,最终能获得惊人的39瓶汽水。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个话题有点滑稽了。of course!

我要说的是个很便宜的汽水,一元一瓶,而且两个空瓶子就可以兑换一瓶汽水,先实现一个小目标,喝个20块钱的。

让我们来讨论这个复杂而有趣的喝汽水问题……

首先,20块钱,先保底喝上20瓶。

然后,我们有了20个空瓶子,再来10瓶喝掉。

这就又有了10个空瓶子,再兑换,再喝……

(有人说,不撑吗?……拜托,一块钱的汽水你以为有多少,不然给你20块钱让你挥霍?)

然后……我们一直兑换,一直喝……

突然发现,手里就一个空瓶子了。

不好意思,game over!

接下来,让我们用代码实现这个complicated and interesting(复杂而有趣)的course。

在VS下输入如下C语言代码:

#include <stdio.h>
#include <windows.h>

int drink_water(int money)
{
	int total = money;
	int empty = money;
	while (empty > 1){
		total += empty / 2;
		empty = empty / 2 + empty % 2;
	}
	return total;
}
int main()
{
	int money = 20;
	int total=drink_water(money);
	printf("%d\n", total);
	system("pause");
	return 0;
}

输完了,那就F5运行“喝”下试试;



结果颠覆了我的三观~

20块钱能喝39瓶汽水!天底下哪里有这种好事……

不过,唯一美中不足的是手里还剩一个空瓶子,这可是赤裸裸的“半瓶汽水”啊

这时候有同志出来说话了,先去问老板借一个空瓶子,拿来兑换了,再把空瓶还给老板……不就能多喝一瓶。

当然,如果你长得帅,说不定可以……


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值