题解 | #汽水瓶#

汽水瓶

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

#include <iostream>
using namespace std;

int main() {
    int n,cnt;
    cin >> n;
    while(n!=0)
    {
        cnt = 0;
        while(n>=3)
        {
            cnt += n/3;
            n = n/3 + n%3;
        }
        if(n == 2)
            cnt+=1;
        cout << cnt <<endl;
        cin>>n;
    }
}

有点像是小学计算题。。对于n个空的汽水瓶,按3:1的比例换成汽水后,反复的喝,喝完后会有新的空瓶子,可以再换,所以再进行3:1的比例进行更换,直到n<3为止,就没法再更换了,cnt的计数值也就不再增加了,除开最后一种特殊情况,即还剩下两瓶空瓶子,可以再找老板借一瓶,喝了后又凑齐三个,可以还回去,仅限于最后剩下两个空瓶子,所以单独一个if判断即可。

全部评论

相关推荐

01-11 08:47
门头沟学院 Java
程序员花海_:所以看起来还是实习的好处多 给导师打黑工能学到什么
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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