不少同學認為數(shù)學是難度較大的學科,其實提高編程水平可以幫你理解很多奧數(shù)難題。今天這道牛吃草問題據(jù)說最初是由牛頓提出的。
牧場上有一片青草,每天增長相同數(shù)量,這片青草供給10頭牛吃可以吃22天,16頭牛吃可以吃10天。如果供給25頭牛吃,可以吃多少天?
通過四步可以解這道題:1.求出每天增長草量。2.求出牧場原有草量。3.求出每天實際消耗原有草量(牛吃的草量-增長的草量=消耗原有的草量)。4.求出25頭牛吃多少天。
下面先用傳統(tǒng)數(shù)學解題思路:
1. 設每頭牛每天吃1份草,10×22=220(份)(原有草量+22天每天增長草量),16×10=160(份)(原有草量+10天每天增長草量)。
2. 220-160=60(份) 22-10=12(天)(12天增長的草量等于60份),60÷12=5(份)平均每天增長的草量為5份。
3. 25頭牛每天消耗原有草量:25-5=20(份)25頭牛每天吃的分量-每天增長的草量。
4. 原有的草量:22×10-22×5=110(份)或16×10-10×5=110(份),10頭牛吃22天的分量減去22天增長的草量。
5. 25頭牛能吃:110÷20=5.5(天)
此外還可以用解方程的方法:設牧場原有草量為y,每天新增加的牧草可供x頭牛食用,25頭牛能夠在n天將草全部吃完,根據(jù)題目條件可以得出三個方程式:
22×10=y+22x、16×10=y+10x 和25n=nx+y解方程得到: y=110 x=5 n=5.5
用方程解決牛吃草問題的核心公式是:原有草量=(牛數(shù)-單位時間長草量可供應的牛的數(shù)量)×天數(shù)。我們將方程思想帶入到Scratch中就可以解決牛吃草的問題了。
初始情況下設置原草量為160,每日增長的草量為0,利用和雞兔同籠相同的循環(huán)方法先求出22×10=y+22x 和 16×10=y+10x兩個方程組的解x=5 y=110。然后將原草量和每日草量的值代入到計算天數(shù)的環(huán)節(jié)中,利用循環(huán)來計算出天數(shù),由于天數(shù)的變化可能存在半天的情況,所以我們這里將天數(shù)每次增加設置為0.5。計算得出最終的答案為:每日增長草量為5,原草量為110,25頭??梢猿?.5天。
通過解方程思路結合編程思想解決牛吃草的問題,總結該類問題的通用公式:
1. 每天增長草量= (吃得較多天數(shù)×對應牛頭數(shù)-吃得較少天數(shù)×對應牛頭數(shù))÷(吃得較多的天數(shù)-吃得較少的天數(shù))
2. 原有草量=牛頭數(shù)×吃的天數(shù)-每天增長草量×吃的天數(shù)
3.吃的天數(shù)=原有草量÷(牛頭數(shù)-每天增長草量)
4. 牛頭數(shù)=原有草量+吃的天數(shù)+每天增長草量