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