有 乙個演算法題:
啤酒2塊錢1瓶,
4個瓶蓋換1瓶
2個空瓶換1瓶
問:10塊錢可以喝幾瓶?
我們來剖析下:
10->5瓶酒 及 5個瓶蓋 5個空瓶
----------------
5個空瓶->2瓶酒 剩1個空瓶 ->3個瓶蓋 2個空瓶
5個瓶蓋->1瓶酒 剩乙個瓶蓋 ->2個瓶蓋 1個空瓶
----------------
彙總:5個瓶蓋 3個空瓶
5個瓶蓋->1瓶酒 剩乙個瓶蓋 ->2個瓶蓋 1個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個瓶蓋 2個空瓶
----------------
彙總:4個瓶蓋 3個空瓶
4個瓶蓋->1瓶酒 ->1個瓶蓋 1個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個空瓶 1個瓶蓋
----------------
彙總:2個瓶蓋 3個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個空瓶 1個瓶蓋
----------------
彙總:3個瓶蓋 2個空瓶
2個空瓶->1瓶酒 剩0個空瓶->1個空瓶 1個瓶蓋
----------------
彙總:4個瓶蓋 1個空瓶
4個瓶蓋 ->1瓶酒 剩0個空瓶->1個空瓶 1個瓶蓋
最後來貼上**:
class beer(object):
"""description of class
乙個演算法題:
啤酒2塊錢1瓶,
4個瓶蓋換1瓶
2個空瓶換1瓶
問:10塊錢可以喝幾瓶?
10->5瓶酒 及 5個瓶蓋 5個空瓶
----------------
5個空瓶->2瓶酒 剩1個空瓶 ->3個瓶蓋 2個空瓶
5個瓶蓋->1瓶酒 剩乙個瓶蓋 ->2個瓶蓋 1個空瓶
----------------
彙總:5個瓶蓋 3個空瓶
5個瓶蓋->1瓶酒 剩乙個瓶蓋 ->2個瓶蓋 1個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個瓶蓋 2個空瓶
----------------
彙總:4個瓶蓋 3個空瓶
4個瓶蓋->1瓶酒 ->1個瓶蓋 1個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個空瓶 1個瓶蓋
----------------
彙總:2個瓶蓋 3個空瓶
3個空瓶->1瓶酒 剩1個空瓶->2個空瓶 1個瓶蓋
----------------
彙總:3個瓶蓋 2個空瓶
2個空瓶->1瓶酒 剩0個空瓶->1個空瓶 1個瓶蓋
----------------
彙總:4個瓶蓋 1個空瓶
4個瓶蓋 ->1瓶酒 剩0個空瓶->1個空瓶 1個瓶蓋
"""#version 2.7
#version 3.65
def pijiu(self):
n=x=y=5#啤酒,蓋子和空瓶數
while x>=4 or y>=2:
x1=x//4 #兌換的酒
x2=x%4 #剩餘的蓋子
y1=y//2 #兌換的酒
y2=y%2 #剩餘的空瓶
n+=x1+y1
x=x1+x2+y1
y=y1+y2+x1
print(n)
# print "233232"
beer().pijiu()
用python解決N元買N雞問題
公雞每只5元,母雞每只3元,小雞1元三隻。n元錢必須剛好買n隻雞,而且雞必須整隻買,不能分開買。有幾種買法呢?在一行中輸入乙個正整數n。在一行中輸出兩個整數c,s。中間用乙個空格隔開,表示n元錢買n知己共有c種買法,且所有賣法的公雞數量之和是s。1004 24我的 如下 n int input co...
python解決百錢買百雞
現有100錢,公雞5文錢乙隻,母雞3文錢乙隻,小雞一文錢3只 要求 公雞 母雞,小雞都要有,把100文錢花完,買的雞的數量正好是100。問 一共能買多少只公雞,多少只母雞,多少只小雞?窮舉法 方案一 思路 第一重迴圈公雞從1只迴圈到100只 第二重迴圈母雞從1只迴圈到100只 第三重迴圈小雞從1只迴...
python基礎10 元組
元組的定義 一種不可變的有序容器,其中的元素有位置上的先後順序,標誌性符號是圓括號和逗號 元組的適用場景 1.定義乙個元組 1.1方法一 直接賦值,直接把元素值寫入圓括號並用逗號分隔 其中 圓括號可以省,但是逗號不能省 即時只有乙個元素也必須有逗號 關於圓括號 關於逗號 1.2 方法二 通過tupl...