目录
题目要求:
题目分析:
代码演示:
题目要求:
⽔已知1瓶汽⽔1元,2个空瓶可以换⼀瓶汽⽔,输⼊整数n(n>=0),表⽰n元钱,计算可以多少汽 ⽔,请编程实现。
题目分析:
- 根据题目要求,n表示为钱数,所以一开始使用scanf输入的数值其实是金额,为此我们要在设立一个变量,以此来表示汽水的数量 —— 设汽水的数量为p
- 再度根据题目的要求,一个汽水瓶是一共空瓶,而空瓶是题中重要的因素,为此,我们需要为空瓶设立一个变量 —— 设空瓶数量为 k
- 根据题目要求,两个空瓶可以兑换一共汽水,所以在扣除金钱的来的汽水之后,剩下的汽水数量是和空瓶有关系的 —— p = k/2
- 如上图分析得到,空瓶的总量除去先前用金钱购买得到汽水,再从汽水变成的空瓶外,空瓶的数量是 用空瓶兑换汽水后,汽水在变成的空瓶 ,以及剩余的无法抵达兑换条件而落下的空瓶 ——k = k/2 + k%2
- 题目要求,求取最后可以换取多少瓶汽水,所以汽水的数量是需要累加的,因此,k/2=p 需要改变成 p= k+k/2 ,而p也就变成了汽水的总数量
- 且因为是使用金钱购买的,所以汽水数量的初值是为金钱的额度,所以 p = n
代码演示: