题目描述
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。
输入描述
输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。
输出描述
输出一个整数,表示实际得到的饮料数
输入输出样例
示例
输入
100
输出
149
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
总通过次数: 18968 | 总提交次数: 19754 | 通过率: 96%
难度: 中等 标签: 2015, 模拟, 省赛
代码:
#include <iostream> // 包含标准输入输出库
using namespace std;
int main()
{
// 声明两个整型变量 n 和 m
int n, m;
// 使用 scanf 函数从标准输入读取一个整数并赋值给变量 n
scanf("%d", &n);
// 初始化 sum 为 n,表示初始的瓶数
int sum = n;
// 初始化 m 为 n,用于记录当前手中的瓶子数
m = n;
// 进入一个无限循环
while(1)
{
// 如果当前手中的瓶子数小于 3 ,跳出循环
if(m < 3) break;
// 将 sum 加上用当前瓶子数兑换得的新瓶子数
sum += m / 3;
// 更新手中的瓶子数,为新兑换得的瓶子数加上剩余的瓶子数
m = m / 3 + m % 3;
}
// 输出总共得到的瓶子数
printf("%d", sum);
// 返回 0 表示程序正常结束
return 0;
}