每日算法打卡:饮料换购

382 words

原题链接

1216. 饮料换购

题目难度:简单

题目来源:第六届蓝桥杯省赛C++ A/C组,第六届蓝桥杯省赛Java B组

题目描述

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。

输入格式

输入一个整数 n,表示初始买入的饮料数量。

输出格式

输出一个整数,表示一共能够喝到的饮料数量。

数据范围

0 < n < 10000

输入样例:

1
100 

输出样例:

1
149 

题目分析

这道题其实就是一种小学数学题目,三个瓶盖换一个饮料,问最多可以喝多少瓶饮料

这种简单的题目就是模拟他兑换的过程

假设我们一开始有n瓶,那么结果就先有n,然后又有了n个瓶盖,那么当n大于等于3的时候就可以一直换,换的瓶数除3下取整,盖子数量就是n除3下取整再加上n除3的余数

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int ans = n;
while(n>=3)
{
ans += n/3;
n = n/3 + n%3;
}
cout<<ans<<'\n';
return 0;
}
Comments