题解 | #汽水瓶#

汽水瓶

https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

#include <iostream>
using namespace std;

int BottleNum(int Allnum)
{
    int n1    = Allnum / 3; //置换空瓶得到的饮料数
    int n1_re = Allnum % 3; //剩下空瓶,不足以置换饮料

    int num = n1;
    int Emptynum = n1 + n1_re;
    while (Emptynum >= 2){ //新饮料瓶 + 剩下空瓶,是否可以通过借空瓶来换
                             //2是因为只有两空瓶时,可向老板借1个,喝完还回去,此时手里没瓶子了。
        Emptynum = n1 + n1_re;
        n1       = (Emptynum) / 3; 
        n1_re    = (Emptynum) % 3; 

        if (n1 == 0 && n1_re == 2){
            num += 1;
            break;
        }
        num += n1;
        
    }
 
   
    return num;
}

int main() {
    int input;
    while (cin >> input){
        if (input > 0){
            cout << BottleNum(input) <<endl;
        }
    }
    return 0;
}

全部评论

相关推荐

06-26 17:24
已编辑
宁波大学 Java
一口洪烧肉:哈哈哈哈哈哈哈哈哈哈哈硬要啊
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
“校招”、“3-5年经验”
xiaolihuam...:逆向工程不是搞外挂的吗,好像现在大学生坐牢最多的就是诈骗罪和非法侵入计算机系统罪,发美金,还居家办公,就是怕被一锅端,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务