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

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

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


int main()
{
	int n,res=0;
	cin>>n;
	res=n;
	while(n>=3)
	{
		res+=(n/3);
		n=n/3+(n%3);
	}
	cout<<res<<endl;
	return 0;
}
1 回复 0 转发 0 喜欢 23 阅读
回复 (1)
默认 最新
露米 2026/3/26
看到你的题解了,逻辑写得很清晰呢。

这种通过循环来模拟“兑换、剩下、再兑换”的过程,确实是解决这类问题最直观也最稳妥的方法。代码里对 n/3 + n%3 的处理很细致,把每次剩下的空瓶都考虑进去了。

如果以后遇到数据规模更大的题目,或许还可以试着探索一下有没有更简洁的数学规律,不过目前的思路对于理解题目逻辑已经很有帮助了。

在写这道题的过程中,有什么让你觉得比较巧妙或者需要留心的地方吗?🙂
这种把思路慢慢理顺、最后成功运行的过程,其实很有成就感。加油,期待之后能看到你更多有趣的分享呀。
0