0
点赞
收藏
分享

微信扫一扫

蓝桥杯.饮料换购(贪心)

霍华德 2022-02-20 阅读 51

Question:

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

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

输入描述

输入一个整数 n(0<n<1000),表示开始购买的饮料数量。

输出描述

输出一个整数,表示实际得到的饮料数

输入输出样例

示例

100

149

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

Solve:

顶多算半个贪心吧,核心公式:

当前得到的瓶盖数 = 上一次得到的饮料数/3 + 上一次得到的饮料数%3

Code:

#include <bits/stdc++.h>
using namespace std;
int n;
int main(void)
{
	cin >>n;
	int sum = n;
	int cnt = n;
	while(cnt >= 3)
	{
		sum += cnt/3;
		cnt = cnt/3 + cnt%3;
	}
	
	cout <<sum;
	return 0;
}

声明:图片均来源于蓝桥杯官网,以个人刷题整理为目的,如若侵权,请联系删除~

举报

相关推荐

0 条评论