题解 | #汽水瓶#

汽水瓶

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

#include<iostream>
using namespace std;
int main() {
    int n;    //n为空瓶子的数量
    int a,b;
    while(cin>>n) {
        if(!n)    break;
        int count = 0;        //记录总共喝了多少瓶水
        b = n % 3;        //b代表不足以换水的瓶子的数量
        a = n / 3;        //a代表换了几瓶水
        count += a;        //统计喝了多少瓶水
        a = a + b;        //再次统计空瓶子的数量
        while(a/3) {
            b = a % 3;    //b代表下一轮兑换中不足以换水的瓶子的数量
            a = a / 3;    //a代表换了几瓶水
            count += a;    //再次统计喝了几瓶水
            a = a + b;    //再次统计空瓶子的数量
        }
        if(a == 2)    count++;    //最后如果还有两个空瓶子,那么借一瓶水,再还一瓶水
        cout<<count<<endl;
    }
    return 0;
}
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

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