每日算法打卡:饮料换购 day 12

文章目录

    • 原题链接
    • 题目描述
        • 输入格式
        • 输出格式
        • 数据范围
        • 输入样例:
        • 输出样例:
    • 题目分析
    • 示例代码

原题链接

1216. 饮料换购

题目难度:简单

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

题目描述

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

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

输入格式

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

输出格式

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

数据范围

0 < n < 10000

输入样例:
100 
输出样例:
149 

题目分析

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

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

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

示例代码

#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;
}