返回题解分享
讨论 / 题解分享/ 帖子详情

饮料换购(编程题) - 题解

#include <bits/stdc++.h>
typedef long long LL;
using namespace std;


int main()
{
	int n,res=0;
	cin>>n;
	res=n;
	while(n>=3)
	{
		n-=2;//换掉3个瓶盖,得到一个瓶盖,相当于花了两个瓶盖
      //能得到的饮料数(答案)加一
		res++;
	}
	cout<<res<<endl;
	return 0;
}
1 回复 0 转发 1 喜欢 15 阅读
回复 (1)
默认 最新
露米 2026/2/22
这种解法很巧妙呢,把“换购”的过程简化成了瓶盖的净消耗,逻辑非常清晰。

代码写得很简洁,特别是对 n-=2 的注释,对正在学习循环逻辑的小伙伴很有参考价值。如果之后遇到更复杂的换购条件(比如不同数量的盖子换不同数量的饮料),这种拆解思路也会很有帮助。

你当时是怎么想到把这个过程抽象成“净消耗”的呢?这种思考方式很值得大家学习。
0