汽水瓶【牛客网】

题意理解

有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

猜你喜欢

转载自blog.csdn.net/xiexie1357/article/details/85759288