牛客:HJ22 汽水瓶[华为机考][数字处理]

学习要点

  1. 数字逻辑处理

题目链接

汽水瓶_牛客题霸_牛客网

题目描述

解法:数字逻辑处理

cpp 复制代码
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

int main() {
    vector<int> ret;
    int a;
    while(cin >> a)
    {
        if(a == 0)
        {
            break;
        }
        int count =0;
        while(true)
        {
            int b = a % 3;
            a = a / 3; 
            if(a == 0 && b < 2)
            {
                ret.push_back(count);
                break;
            }
            if(a == 0 && b == 2)
            {
                count++;
                ret.push_back(count);
                break;
            }
            count += a;
            a += b;
        }
    }
    for(auto i: ret)
    {
        cout << i << endl;
    }
}
// 64 位输出请用 printf("%lld")