“百錢(qián)買(mǎi)百雞”是一個(gè)很有歷史的問(wèn)題了,大意就是:小雞半文一只店读,母雞一文一只嗦枢,公雞二文一只,現(xiàn)有一百文錢(qián)屯断,剛好買(mǎi)了一百只雞文虏,請(qǐng)問(wèn)小雞、母雞與公雞各有多少只殖演?
如果假設(shè)小雞氧秘、母雞和公雞各有a,b,c,那么同時(shí)滿(mǎn)足以下兩個(gè)條件的均可以符合題意:
a + b +c =100
0.5a + 1b + 2*c = 100
顯然不止一組解趴久,可以用Python進(jìn)行窮舉丸相,代碼如下:
for i in range(1, 101):
for j in range(1, 101-i):
for m in range(1, 101-i -j):
if i * 0.5+j*1 + m *2 == 100 and i + j + m == 100:
print('chicken(s):{}, hen(s):{}, rooster(s):{}.'.format(i, j, m))
測(cè)試運(yùn)行的結(jié)果是:
chicken(s):2, hen(s):97, rooster(s):1.
chicken(s):4, hen(s):94, rooster(s):2.
chicken(s):6, hen(s):91, rooster(s):3.
chicken(s):8, hen(s):88, rooster(s):4.
chicken(s):10, hen(s):85, rooster(s):5.
chicken(s):12, hen(s):82, rooster(s):6.
chicken(s):14, hen(s):79, rooster(s):7.
chicken(s):16, hen(s):76, rooster(s):8.
chicken(s):18, hen(s):73, rooster(s):9.
chicken(s):20, hen(s):70, rooster(s):10.
chicken(s):22, hen(s):67, rooster(s):11.
chicken(s):24, hen(s):64, rooster(s):12.
chicken(s):26, hen(s):61, rooster(s):13.
chicken(s):28, hen(s):58, rooster(s):14.
chicken(s):30, hen(s):55, rooster(s):15.
chicken(s):32, hen(s):52, rooster(s):16.
chicken(s):34, hen(s):49, rooster(s):17.
chicken(s):36, hen(s):46, rooster(s):18.
chicken(s):38, hen(s):43, rooster(s):19.
chicken(s):40, hen(s):40, rooster(s):20.
chicken(s):42, hen(s):37, rooster(s):21.
chicken(s):44, hen(s):34, rooster(s):22.
chicken(s):46, hen(s):31, rooster(s):23.
chicken(s):48, hen(s):28, rooster(s):24.
chicken(s):50, hen(s):25, rooster(s):25.
chicken(s):52, hen(s):22, rooster(s):26.
chicken(s):54, hen(s):19, rooster(s):27.
chicken(s):56, hen(s):16, rooster(s):28.
chicken(s):58, hen(s):13, rooster(s):29.
chicken(s):60, hen(s):10, rooster(s):30.
chicken(s):62, hen(s):7, rooster(s):31.
chicken(s):64, hen(s):4, rooster(s):32.
chicken(s):66, hen(s):1, rooster(s):33.
總的來(lái)說(shuō),這是一個(gè)中小學(xué)生都適宜的好問(wèn)題情境彼棍,對(duì)于小學(xué)生可以用來(lái)培養(yǎng)數(shù)學(xué)思維灭忠,比如小雞不可能是單數(shù),比如小雞與公雞的平均價(jià)格應(yīng)該是一文一只座硕。而對(duì)于中學(xué)生而言則可以用來(lái)鍛煉程序思維弛作。