题目描述
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n
瓶饮料,最后他一共能喝到多少瓶饮料。
输入格式
输入一个整数 n
,表示初始买入的饮料数量。
输出格式
输出一个整数,表示一共能够喝到的饮料数量。
数据范围
0<n<10000
样例
输入样例:
100
输出样例:
149
算法1
(数学方法) $O(n)$
在瓶盖数量大于3时,三个瓶盖换一瓶饮料得到一个瓶盖,相当于两个瓶盖换一瓶饮料。
时间复杂度
O(n)
参考文献
C++ 代码
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int n;//n为瓶盖数
cin >> n;
int res = n;//res为累计喝的饮料数
//在瓶盖数量大于3时,三个瓶盖换一瓶饮料得到一个瓶盖,相当于两个瓶盖换一瓶饮料。
while(n >= 3){
n -= 2;
res += 1;
}
cout << res << endl;
return 0;
}