买牛奶,小明举办用牛奶瓶和盖子换牛奶活动

买牛奶
描述

去年小明加的小卖部举办了一个活动,可以用牛奶瓶和盖子换牛奶,小明觉得太亏了,于是决定今年只能用瓶子换牛奶,但是你可以找写小明借瓶子,但是必须还给小明。现在你手上有n个瓶子,请问你最多可以喝几瓶牛奶,你可以用三个瓶身换一瓶牛奶

day11-03.zip

输入
有多组数据,每组数据一个整数n(n<=1000),表示你一开始手上有的瓶子数量,输入遇到0时,表示结束

输出
每组数据对应一个结果,每个数据占一行

输入样例 1

5
7
6
0
输出样例 1

2
3
3
提示

样例1解释:拿3个瓶子换一瓶牛奶,剩余1个瓶子和1个牛奶,牛奶喝完就剩余2个瓶子,找小明借一个,凑齐3

应该写明一次只能借1个瓶子,不然一直借就没结束了。运行结果如下:

img

代码:

#include <iostream>
using namespace std;

int main()
{
    int n;
    while (1)
    {
        cin >> n;
        if (n == 0)
            break;
        int cnt = 0; //牛奶个数
        while (n>=3)
        {
            int k = n / 3;
            cnt += k;
            n = n % 3 + k;
        }
        if (n == 2)
            cnt++; //剩余2个瓶子,借一个
        cout << cnt << endl;
    }
    return 0;
}

#include <iostream>
using namespace std;
int getMaxMilk(int n) {
    int total = 0;
    int empty = n;
    while (empty >= 3) {
        int milk = empty / 3;
        total += milk;
        empty = milk + empty % 3;
    }
    return total;
}
int main() {
    int n;
    while (cin >> n && n != 0) {
        int maxMilk = getMaxMilk(n);
        cout << maxMilk << endl;
    }
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

【以下回答由 GPT 生成】

#include <iostream>

int main() {
    int n;
    while (std::cin >> n) {
        if (n == 0) {
            break;
        }
        int result = 0;
        int borrowed = 0;
        while (n >= 3) {
            result += n / 3;
            borrowed += n / 3;
            n = n / 3 + n % 3;
            if (borrowed >= 3) {
                n += borrowed / 3;
                borrowed = borrowed % 3;
            }
        }
        std::cout << result << std::endl;
    }
    return 0;
}

解题思路: - 使用一个循环,每次判断手上的瓶子数量是否大于等于3。 - 如果大于等于3,将手上的瓶子数量除以3,得到可以兑换的牛奶数量,并将结果累加到最终答案中。 - 同时,将手上的瓶子数量除以3,得到借来的瓶子数量,并将结果累加到借来的瓶子数量中。 - 更新手上的瓶子数量为除以3的结果加上瓶子数量除以3的余数。 - 如果借来的瓶子数量大于等于3,将借来的瓶子数量除以3,得到可以兑换的牛奶数量,并将结果累加到剩余的瓶子数量中。 - 更新剩余的瓶子数量为借来的瓶子数量除以3的余数。 - 输出最终的答案。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^