#include <iostream> using namespace std; int main() { int num; int hand; int result; while(cin >> num){ if(num == 0){ return 0; } hand = 0; result = 0; while(num >= 3){ hand = num % 3; num = num / 3; result = result + num; num = num + hand; } if(num == 2){ result++; } cout << result << endl; } }
!!认真看题!!
剩下2个瓶子的时候是可以靠借老板一个瓶子多喝一瓶的。
使用一个参数hand记录兑换后手上剩下的瓶子(不包括兑换后喝完的)
之后再加上兑换后喝完的瓶子继续循环计算直到瓶子数小于3