啤酒2塊1瓶,4個蓋換1瓶,2個空瓶換1瓶,10塊錢可以喝幾瓶 ?為什麼?

時間 2021-05-31 06:03:24

1樓:Miss DL

用小學生的思維來回答一波吧:

10塊錢先買5瓶酒先喝一波,喝完以後手裡剩5個空瓶,5個蓋,然後開始想問題,

有兩個等式:

2空瓶=1酒+1空瓶+1蓋 (1)

4蓋=1酒+1空瓶+1蓋 (2)

聯立公式(1)、(2)可得:

1空瓶=2酒,

1蓋=1酒;

總共5+5*2+5=20瓶

2樓:畢然

//用遞迴,這裡為了方便看懂用的中文變數

int 我的啤酒 = 10/2;

jisuan(ref 我的啤酒, 我的啤酒, 我的啤酒);

MessageBox.Show(我的啤酒.ToString());//執行結果15

private void jisuan(ref int 喝掉的啤酒, int 瓶蓋, int 瓶子)

3樓:七叔

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import math

price = 2

bottle_value = 2

caps_value = 4

def cheers(money,bottle_num,caps_num,count):

#print(">>",money,bottle_num,caps_num,count)

curr_num = money // price + bottle_num // bottle_value + caps_num // caps_value

money = money % price

count += curr_num

bottle_num = curr_num + bottle_num % bottle_value

caps_num = curr_num + caps_num % caps_value

print(money,bottle_num,caps_num,count)

if (money>=price or bottle_num>=bottle_value or caps_num>=caps_value):

cheers(money,bottle_num,caps_num,count)

else:

print(">>> ",count," <<<")

cheers(10,0,0,0)

0 5 5 5

0 4 4 8

0 3 3 11

0 2 4 12

0 2 2 14

0 1 3 15

>>>15<<<

[Finished in 0.1s]

4樓:

看到樓上C和Python的,我也來個JS版本(如果不能借的話):

function 來一炮(XO)else{return XO

原諒我用中文,主要是便於理解,初始化10塊錢買了5瓶,所以:

5樓:W4ter

運用物品價值理論:整瓶啤酒2元,2個瓶子換1瓶啤酒相當於瓶子1元,瓶蓋0.5元,那麼單純的啤酒就是0.5元 ,10/0.5=20瓶

1.換得5瓶,得到5個瓶蓋,5個空瓶

2.換得3瓶,還剩4個瓶蓋,4個空瓶

3.換得3瓶,還剩3個瓶蓋,3個空瓶

4.換得1瓶,還剩4個瓶蓋,2個空瓶

5.換得2瓶,還剩2個瓶蓋,2個空瓶

6.換得1瓶,還剩3個瓶蓋,1個空瓶

(借1瓶蓋 1空瓶)

7.換得2瓶,還剩2個瓶蓋,2個空瓶

(借2瓶蓋)

8.換得2瓶,還剩2個瓶蓋,2個空瓶

9.換得1瓶,還剩3個瓶蓋,1個空瓶

(還賬--->結束)

總共可以喝20瓶

6樓:楊盼

#include

main()

while(1)

if(j>=4)

if(i<2&&j<4)

break;

}printf("%d %d %d",k,i,j);

printf("\n");

return 0;

}你們懂的!~~

7樓:

讓我來用高中數學來解釋一下。

你買了一瓶啤酒,按照「4個蓋換1瓶,2個空瓶換1瓶」你可以換得"1/4+1/2"瓶酒,然後以換得的酒對應的瓶子和瓶蓋繼續換下去。

把上面的話理解好,「花1瓶的錢能通過兌換喝到幾瓶」這個問題轉化成了乙個以1為首項,公比為3/4的等比數列求和,當n趨向於無限大,也就是你可以無限換下去時,Sn=a1/(1-q)=4。這就是說,在店鋪允許賒賬或者抵扣的前提下,每花1瓶的錢,你就可以喝4瓶酒。

至於這個答案具體是多少,已經不重要了。

大家都挺忙的,買菜的函式還沒有學好呢(認真臉)

8樓:張軍

P代表瓶 G代表蓋子

5P+5G 喝5瓶

3P+7G 喝2瓶

2P+8G 喝1瓶

1P+9G 喝1瓶

1P+2P+3G 喝2瓶

1P+1P+4G 喝1瓶

1P+1P+2G 喝2瓶

1P+3G 喝1瓶

按照規則,這步之後是不允許再兌換了,也不能借,so,截止,共計5+2+1+1+2+1+2+1=15 餘1P+3G

9樓:王思睿

1.換得5瓶,得到5個瓶蓋,5個空瓶

2.換得3瓶,還剩4個瓶蓋,4個空瓶

3.換得3瓶,還剩3個瓶蓋,3個空瓶

4.換得1瓶,還剩4個瓶蓋,2個空瓶

5.換得2瓶,還剩2個瓶蓋,2個空瓶

6.換得1瓶,還剩3個瓶蓋,1個空瓶

無法繼續換所以應該是15瓶

啤酒2元一瓶,四個瓶蓋可換一瓶啤酒,2個空瓶也可換一瓶啤酒,10元最多少瓶喝啤酒 ?

evolve 兩元一瓶啤酒十元最多幾瓶這道題答案眾說紛紜,但答案最多的是15和20。簡言之 看懂這就不用往下看了 如果你是從數量遞推的角度,那麼15也是正確的。如果你是從價值和數量的角度,那麼20是正確的。分割 從數量遞推角度,推到最後,你會發現,就只剩下三個瓶蓋和乙個瓶子,再怎樣都無法再換了。當然...

2元錢或者2個空瓶或者4個瓶蓋可以換一瓶酒,8元最多可以喝多少酒?

CcJacky 16瓶 解方程是最好的演算法 高讚的已經回答了 驟然降到了小學水平 可是我居然是這麼算的 1元 1空瓶 2瓶蓋 1元 1 2酒 1 2 1空瓶 1瓶蓋 1 2酒 3 4元 1 2酒 1 2 3 4酒 3 4 3 4 1空瓶 1瓶蓋 1 2 1 2 3 4 酒 3 4 元 看出來了麼,...

20塊錢買汽水,一塊錢一瓶,2個空瓶換一瓶汽水,3個瓶蓋換一瓶汽水,用遞迴演算法,java程式怎麼寫的?

泰寧Yong 遞迴方法 第一題 public static int sum int n int s n if n 1 s sum n 1 return s 第二題 計算空瓶瓶和蓋蓋能換多少瓶的方法。param p 空瓶瓶個數 param g 蓋蓋個數 return 兌換的汽水瓶數 public st...