problem f: 百錢買百雞問題
time limit: 1 sec memory limit: 2 mb
submit: 13527 solved: 3792
[submit][status][web board]
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 #include int main()
}if(flag==0)
else
printf("\n");
}}
條件判斷的時候小雞的那個不用是d的整數倍 百錢買百雞
這是個很簡單的邏輯,本來沒有什麼太多值得分享的。並且實現程式網上隨處可見,鄙人也並未提出更高深的意見。在閒暇看書時,對比了以下兩種實現。發現,其 實數學計算的不定性,可利用計算機的不斷重複 篩選 得到想要結果 如第一種實現 但是,顯而易見的是,第一種實現有個複雜度的問題。而第二種實現,是在數學計算推...
百錢買百雞
百錢買百雞。中國古代數學家張丘建在他的 算經 中提出了著名的 百錢買百雞 問題 雞翁一,值錢五 雞母一,值錢三 雞雛三,值錢一 百錢買百雞,翁 cock 母 hen 雛 chick 各幾何?include int main int cock,hen,chick printf cock t,hen t...
百錢買百雞
時間限制 1 sec 記憶體限制 128 mb 百錢買百雞問題 公雞五文錢乙隻,母雞三文錢乙隻,小雞三隻一文錢,用100文錢買100隻雞,公雞 母雞 小雞各買多少只?本程式要求解的問題是 給定乙個正整數n,用n文錢買n隻雞,問公雞 母雞 小雞各買多少只?輸入乙個正整數n n 100 如果有解,種組合...