百錢買百雞(通式)

2021-08-30 06:46:36 字數 1293 閱讀 7864

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 如果有解,種組合...