百錢買百雞問題 單層迴圈

2021-10-14 11:12:55 字數 1269 閱讀 2278

description

「百錢買百雞」是我國著名的古代數學問題,中國古代數學家張丘建在他的《算經》中提出了這樣乙個問題:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?

你的任務是求解下面這個問題。問題是這樣描述的:a文錢可買乙隻公雞,b文錢可買乙隻母雞,c文錢可買d只小雞。用m文錢買n隻雞,那麼有公雞x只、母雞y只、小雞z只。求解出符合題意的x,y,z。

input

輸入為一張表。第一行是乙個固定不變的表頭,格式見sample。後面有多行,每行為一組測試資料。每組測試資料由6個整數組成,分別為「a,b,c/d,m,n」。滿足0output

每組測試資料的執行結果輸出為一張表,表頭固定為「cocks,hens,chicks」。每組測試資料的乙個可行解數出為一行,為三個整數:「x,y,z」。多組解按照公雞數從少到多的順序輸出。若測試資料無解則輸出「cannot buy!」。兩組測試資料之間用乙個空行分隔開。

sample input

cock,hen,chick,money,chicks

3,2,1/3,100,100

5,3,1/3,100,100

8,5,1/7,100,100

8,5,1/7,300,300

sample output

cocks,hens,chicks

0,40,60

5,32,63

10,24,66

15,16,69

20,8,72

25,0,75

cocks,hens,chicks

0,25,75

4,18,78

8,11,81

12,4,84

cannot buy!

cocks,hens,chicks

8,40,252

hint

本題重點在於了解多重迴圈的執行效率問題,減少一層迴圈可以降低很大規模的運算量。通過在迴圈體內加計數器可以統計出迴圈的執行次數,當測試資料變大時,執行次數的增長會非常可觀,這就是超時的原因了。

#include

intmain()

}if(flag==0)

printf

("cannot buy!\n");

printf

("\n");

}}

百錢買百雞問題

算經中有這麼一道題,題目很簡單 公雞5文錢乙隻,母雞3文錢乙隻,小雞3只一文錢,用100文錢買一百隻雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少只剛好湊足100文錢?從數學的角度看這是一道很基礎的三元一次方程,現在我們用程式來解決這個問題,最容易想的的方法就是使用列舉法,把每一種可...

百錢買百雞問題

題目 西元前五世紀,我國古代數學家張丘建在 算經 一書中提出了 百雞問題 雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?題解 設能買雞翁,雞母,雞雛各x,y,z只,根據題意可得 x y z 100 5x 3y z 3 100 化簡可得 x y z 100 15x 9...

百錢買百雞問題

百錢買百雞,100塊要買100隻雞,公雞5塊 母雞3塊 小雞1塊3個,100塊花完 買了100個雞 求有幾種買法,分別買了多少只 公雞母雞小雞 方法一 package com.summer 0416.cn author summer 百錢買百雞,100塊要買100隻雞,公雞5塊 母雞3塊 小雞1塊3...