题解 | #汽水瓶#

汽水瓶

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判断即可。

全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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