#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

京公网安备 11010502036488号