1 条题解
-
0
自动搬运
来自洛谷,原作者为

Vct14
**搬运于
2025-08-24 22:40:51,当前版本为作者最后更新于2023-04-20 19:43:45,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
题意
买 瓶饮料,喝完 瓶可以换 瓶,求最后一共可以喝多少瓶。
解法
思路
暴力模拟。
设瓶盖数为 。当 时一直循环模拟换购,每次循环表示用当前剩余的瓶盖换购后,再将新的饮料喝完。我们称这样一次循环为“一轮”。
每一轮可以多换购 瓶,还剩下 个瓶盖,而喝完后,又会多 个瓶盖。
思路
列方程。
设最后喝了 瓶饮料,则共有 瓶饮料是换购来的。
因为最后 个瓶盖无法换购,那么实际参与了换购的瓶盖只有 个。
则可以列出方程:
最后解得:
故答案为 。
代码
思路
#include<bits/stdc++.h> using namespace std; int main(){ int n;//我们可以直接用 n 代表剩余瓶盖数 cin>>n; int sum=n;//sum 为总喝的饮料数 while(n>2) sum+=n/3,n=n%3+n/3;//模拟换购 cout<<sum; return 0; }思路
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; cout<<(3*n-1)/2;//推出的式子 return 0; }
- 1
信息
- ID
- 8122
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者