用python解決10元錢能喝多少瓶啤酒問題

2021-10-08 14:42:14 字數 1845 閱讀 1454

有 乙個演算法題:

啤酒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...