1. 程式人生 > >汽水瓶【牛客網】

汽水瓶【牛客網】

題意理解

有n個空瓶,3個空瓶兌換一個新瓶,2個空瓶可借一瓶喝完湊成3個空瓶再兌換一個新瓶還回去。問最多喝幾瓶?

問題分析

用類似進位制轉換的思路,第一輪,n/3得到新瓶數,n%3得到這一輪剩餘空瓶數,將新瓶數+剩餘空瓶數放到第二輪。依次類推,直到n/3 == 0表示沒有新瓶,如果n%3等於2,額外得一瓶。將這些新瓶相加就是可以喝的瓶數。

其他

分析可得到,1個空瓶喝不了,2個空瓶喝一瓶,一直這樣迴圈,規律就是瓶數是空瓶整除2的商,餘數不管。

連結

https://github.com/xierensong/learngit/blob/master/ncode/11/11.cpp