【面试题】【C语言】某超市为了促销,一块钱一瓶的可乐,现在两个瓶盖可以换一瓶,请你编写代码实现20元最多可以得到多少可乐

某超市为了促销,一块钱一瓶的可乐,现在两个瓶盖可以换一瓶,请你编写代码实现20元最多可以得到多少可乐

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int n = 0;
	scanf("%d", &n);//题目是20元,我们写成自定义输入,更方便
	int k = n;//可乐全部喝完我们可以得到可乐数量一样多的瓶盖
	while( n >=2)//必须要有两个瓶盖才能兑换可乐,所以n>=2
	{
		k = k + n / 2 ;//每次退换得到瓶盖数量一半的可乐
		n = n / 2+n%2;//同时瓶盖的数量减半,因为当瓶盖数为奇数时,剩余一个瓶盖无法兑换,我们用n%2取余保留下来,下次兑换时可以使用
	}
	printf("最后可得到可乐:%d\n", k);
	system("pause");
	return 0;
}

在这里插入图片描述
欢迎大家交流!

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页