题目描述
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。
输入格式
输入一个整数 n,表示初始买入的饮料数量。
输出格式
输出一个整数,表示一共能够喝到的饮料数量。
数据范围
0<n<10000
样例
输入样例:
100
输出样例:
149
思路:总共喝的饮料分为两种,自己的买的和瓶盖换的,自己买的题目已经给出,我们只需要算出换的
在不浪费的情况下,我们每次喝三瓶就换一瓶,三换一,相当于用三个瓶盖换了一个瓶盖,3-1=2;
也就说相当于两个瓶盖可以进行一次换的动作,因为我们不会浪费,所以最后手里会至少剩下一个瓶盖;
(n-1)/2 得出换这个动作一共进行了多少次,如果(n-1)/2 不等于整数,说明此时最终我们手里剩下两个瓶盖
由于整数运算会自动向下取整,所以(n-1)/2 为我们总共换取得 饮料数 此时加上买个饮料 n
得出 答案为 n+(n-1)/2
灵感来自 2023年 百度之星第一场 第五题 糖果促销
C++ 代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
cout<<n+(n-1)/2;
return 0;
}