求教見圖,,,,,,,,

uj5u.com熱心網友回復:
啥意思? 錢是定值, 單買公雞恰好50只。 買了X只母雞后, 最多只能買50-1.5X只公雞啊uj5u.com熱心網友回復:
百錢買百雞,確定為100錢買100只雞,三種雞各買幾只,不能多不能少,嘿嘿uj5u.com熱心網友回復:
單買公雞最多50只。買了i只母雞后, 公雞最多只能買50-1.5i只。
最快的演算法應該是:
設母雞、公雞、小雞分別為 i,j,k 只
則:
i + j + k=100 -------- ①
3i + 2j + 0.5k=100 -------- ②
②式 * 2 - ①式:5i + 3j = 100 ------ ③
從③式可知,i = 20 - 3j/5
要保證 i, j 正整數,所以
j 必須是 5 的倍數(保證能整除)。
從③式可知 j = 33 + (1 - 5i) / 3
i 的最小值 = 2 (保證 (1 - 5i) / 3 是整數)
j 的最大值為 30 ( i = 2 )
所以最快的演算法應該是:
for j = 0 to 30 step 5
{
i = 20 - (3*j div 5)
k = 100 - i - j
print i , j , k
}
end
uj5u.com熱心網友回復:
數學的解法。若皆買小雞,則百雞需要50錢。一小雞換一母雞,需要多耗費2.5錢,則20小雞換20母雞后恰好百錢換百雞。即0公雞+20母雞+80小雞為一解。
次考慮公雞,在100小雞中,選x小雞換為公雞,則剩余50-1.5x錢,然后再將小雞換為母雞,則需要換(50-1.5x)/2.5只。故500-15x需要能被25整除。故x只能取五的倍數即0,5,10,15,20,25,30,每一個x都對應一組解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/14337.html
標籤:語言基礎/算法/系統設計
上一篇:演算法競賽入門經典/豎式問題
下一篇:地鐵售票系統順序圖,求大神指點
