本文主要是介绍喝汽水问题,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【问题描述】
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。
编程实现。
【解题思路】
1、一元买一瓶汽水,20元可得20瓶。
2、20瓶可换/2得10瓶汽水。10个空瓶又可以换得5瓶汽水,5个空瓶又可以换得2瓶汽水,并且余一个空瓶,可以在下次换时用到,因此,不可忘记了加上%2的结果。
【实现代码】
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Func_drink(int money) {int ret = money;//最终喝到的汽水瓶数int ex = 0;//用空瓶交换到的汽水瓶数int rest = 0;//每次用空瓶换后剩余空瓶数ex = money;while (ex >= 1) {ex += rest;ret += ex / 2;rest = ex % 2;ex /= 2;}return ret;
}
int main() {int money;printf("请输入钱数:\n");scanf("%d", &money);printf("可以喝到的汽水瓶数为:%d\n", Func_drink(money));system("pause");return 0;
}
【运行结果】
这篇关于喝汽水问题,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!