Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chai bia trong C++


Cho số nguyên n là số chai bia đầy ban đầu. 3 chai rỗng đổi được 1 chai đầy. Cần tính tổng số chai bia có thể uống.

Ví dụ: n = 10 → 14.

Các bước:

  • Khởi tạo ret = 0.
  • Khi n >= 3: q = n / 3, ret += q * 3, n = n - q*3 + q.
  • Cuối cùng ret += n.

Ví dụ

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    int solve(int n) {
        int ret = 0;
        while (n >= 3) {
            int q = n / 3;
            ret += q * 3;
            n -= q * 3;
            n += q;
        }
        ret += n;
        return ret;
    }
};

int main() {
    Solution ob;
    cout << ob.solve(10);
}

Đầu vào

10

Đầu ra

14