題目連結: https://zerojudge.tw/ShowProblem?problemid=d189

# 解題思路

再剩餘瓶數在 3 瓶以上的話,就讓自己的瓶做換算
自己手賞的瓶子就會變成 a/3 (換來的) + a%3 (沒換的)
自己手上的空瓶在最後,只會剩下 0、1、2 三種狀況
如果最後是剩下 2 瓶,則能再多換到一瓶

# 程式碼

#include<iostream>
using namespace std;
int main()
{
    int a, sum;
    while(cin>>a)
    {
        int sum=a;
        while(true)
        {
            sum+=a/3;
            if (a<3) break;
            a=(a/3+a%3);
        }
        if (a==2)
            sum+=1;
        cout<<sum<<endl;
    }
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay