華為研發工程師程式設計題:汽水瓶 [python]

ChrisMinions發表於2017-11-14
'''
[程式設計題] 汽水瓶
時間限制:1秒
空間限制:32768K
有這樣一道智力題:“某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?”
答案是5瓶,方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,
這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一瓶滿的還給老闆。
如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝? 


輸入描述:
輸入檔案最多包含10組測試資料,每個資料佔一行,僅包含一個正整數n(1<=n<=100),
表示小張手上的空汽水瓶數。n=0表示輸入結束,你的程式不應當處理這一行。




輸出描述:
對於每組測試資料,輸出一行,表示最多可以喝的汽水瓶數。如果一瓶也喝不到,輸出0。


輸入例子1:
3
10
81
0


輸出例子1:
1
5
40
'''



'''
解題思路:簡單
   仔細小心考慮到每一種情況就能做出來
'''


'''
程式碼執行結果:
答案正確:恭喜!您提交的程式通過了所有的測試用例

'''


while True:
    try:
        empty_bottle_num = int(input())
        if empty_bottle_num:
            drink_bottle_num = 0
            while empty_bottle_num >= 3:
                temp = empty_bottle_num // 3
                drink_bottle_num += temp
                empty_bottle_num = empty_bottle_num % 3 + temp
            if empty_bottle_num == 2:
                drink_bottle_num += 1
            print(drink_bottle_num)
        else:
            break
    except:
        break


相關文章