喝汽水问题

目录

  • 一、题目
  • 二、思路
  • 二、方法
    • 2.1方法一
    • 2.2方法二

一、题目

题目:水已知1瓶汽水1元,2个空瓶可以换⼀瓶汽水,输⼊整数money(money>=0),表示money元钱,计算可以多少汽水,请编程实现。

二、思路

1.当空瓶子不足两个的时候,就换不到水啦,假设empty(空瓶)>1才可以换水。
2.total(总共喝汽水的多少)。
3.假设有money=5块钱,是不是可以买5瓶汽水,喝完是不是有empty=5瓶空汽水,然后这5个空瓶中,每两个空瓶可以换一瓶汽水,以此类推…最后可以喝9瓶水。
喝汽水问题_第1张图片

二、方法

2.1方法一

#include
int main()
{
	int money = 0;
	scanf("%d", &money);

	int empty = money;
	int total = money;

	while (empty > 1)
	{
		total = total + empty / 2;
		empty = empty / 2 + empty % 2;
	}
	printf("%d ", total);
	return 0;
}

2.2方法二

观察规律:
喝汽水问题_第2张图片

#include
int main()
{
	int money = 0, total = 0;
	scanf("%d", &money);
	if (money <= 0)
	{
		printf("西北风都够呛\n");
	}
	else
	{
		total=2*money-1;
	}
	printf("%d ", total);
	return 0;
}

喝汽水问题_第3张图片
欧耶!!!我学会啦!!

你可能感兴趣的:(c语言题目,c语言,学习)