题解 | #汽水瓶#

汽水瓶

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

#include <iostream>
using namespace std;

int bottle( int& n) {
    int cur_empty_bottle = n;//当前的空瓶数
    int cur_water_botter = 0;//当前的空瓶可以兑换的汽水
    int res = 0;//记录结果
    

    while( true ) {
        cur_water_botter = cur_empty_bottle  / 3 ;
        res += cur_water_botter;
        cur_empty_bottle = cur_water_botter + cur_empty_bottle % 3;
        if( cur_empty_bottle  == 1 ) break;//最终空瓶为1,结束
        if( cur_empty_bottle  == 2 ) {//最终空瓶为2,可以借一个,结果加1
            res ++;
            break;
        }
	  //空瓶为1,结果为0;
	  //空瓶为2,结果为1(可以借一个嘛)
	  //空瓶为3,换一瓶汽水,循环一次,空瓶又变成了1
	  //空瓶为4,结果同2
	  //所以while循环只考虑1和2的情况
    }
    cout<< res << "\n";
    return 0;
}

int main() {
    int n = 0;
    while( cin >> n ) {
        if( n == 0 ) break;
        bottle(n);
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

09-24 11:06
辽宁大学 市场
深莞高速因为台风都封掉了,华为协商后,特地开通华为通道,凭工卡可以正常通勤......
崔喃喃:“台风您好,19级专家已驳回了您18级台风的OA登陆申请”
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
09-21 21:14
门头沟学院
否极泰来来来来:和他说:这里不好骂你,我们加个微信聊
点赞 评论 收藏
分享
09-28 18:25
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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