喝汽水问题

2024-01-23 14:54:34 浏览数 (2)

1,题目描述

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)

思路分析

以20元为例,可以买20瓶汽水,还剩20个空瓶,20个又换了10瓶,10个又换了5瓶,5个换两瓶还剩一个空瓶,3个换一瓶还有一个空瓶,最后换了一瓶,这样算下来,一共能喝39瓶。看起来可以简单的算出来,但要是钱的数额特别大呢?

题目可以看出,俩空瓶换一瓶,20瓶可以看做20/2得到换来的10瓶,3瓶可以看成5/2 5%2(剩一个空瓶不够换,先换一瓶在凑起来换),这里需要用一个total变量来存储喝的汽水总量,而瓶子的个数没换一次就等于原来的个数/2 原来的个数%2(为0说明瓶子够换)。

代码语言:javascript复制
#include<stdio.h>

int main()
{
	int money=0;
	int total=0;
	int empty=0;
	scanf("%d",&money);
	total=money;
	empty=money;
	while(empty>1)
	{
		total =empty/2;
		empty=empty/2 empty%2;
	}
	printf("%d",total);
	return 0;
}

0 人点赞