P8627 [蓝桥杯 2015 省 A] 饮料换购
题意
买
解法
思路 1
暴力模拟。
设瓶盖数为
每一轮可以多换购
思路 2
列方程。
设最后喝了
因为最后
则可以列出方程:
最后解得:
故答案为
代码
思路 1
#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;
}
思路 2
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
cout<<(3*n-1)/2;//推出的式子
return 0;
}