喝汽水问题(c语言)

发布时间:2024年01月23日

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水,这里用c语言来解释

可以先用列举法来说明,¥20可以买20个汽水,两个空瓶换一瓶就可以获得10个汽水,同理10个空瓶个可以获得五瓶,五个换两个两个换一个,然后用五个的余数加上两个的余数相加,可得39瓶。但是这个是用硬算的方法去得出的。我们要做的是,输入n瓶,就可以得出喝了几瓶。

分析

我认为这题看上去简单,但实际上还是有一定的思考难度的,本体秩序是两个变量,就是喝过的汽水和空瓶,利用钱数先来给定这个空瓶数和喝过的值,因为都是¥1一瓶,所以钱数就等于这些数,然后喝过的数随着每一次的这个兑换,他应该是要等于之前我喝过的数,再加上所有的空瓶子数再是÷2,这题难就难在空瓶数该如何表示空瓶数就应该等于空瓶数÷2,再加上空瓶%2,因为有些情况会存在余

原码

#include <stdio.h>
int main()
{
? ? int money = 0;
? ? int he = 0;
? ? int kong = 0;
? ??
? ? while (scanf_s("%d", &money) != EOF)
? ? {
? ? ? ? he = money;
? ? ? ? kong = money;
? ? ? ? while (kong > 1)
? ? ? ? {
? ? ? ? ? ? he = he + kong / 2;
? ? ? ? ? ? kong = kong / 2 + kong % 2;


? ? ? ? }
? ? ? ? printf("你可以喝%d瓶", he);
? ? }
? ? return 0;
}

文章来源:https://blog.csdn.net/2301_80344616/article/details/135790345
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。