题目描述
因为三个饮料瓶能换一个饮料,其实相当于两个饮料瓶就能换一个饮料
但是注意题目说了不能赊账或者暂时借瓶子
样例
100
算法1
(数学) $O(1)$
因为相当于每两个饮料瓶喝一瓶饮料,而最初有n个饮料,首先喝了n个饮料和有n个饮料瓶,根据两个饮料瓶换一个饮料的想法,那么就加上n/2 但是请考虑n为偶数的情况,比如n为2 因为题目说的不能赊账,所以ans=2,而并不是3,所以当n为奇数的时候,ans=n+n/2;
n为偶数的时候,ans=n+n/2-1;
时间复杂度
O(1)
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
cout<<n+n/2-!(n%2);
}