計蒜客 1373 百錢買百雞 複雜度優化

2021-10-04 09:33:05 字數 757 閱讀 8209

百錢買百雞問題:公雞五文錢乙隻,母雞三文錢乙隻,小雞三隻一文錢,用 100100 文錢買 100100 隻雞,公雞、母雞、小雞各買多少只?

本程式要求解的問題是:給定乙個正整數 nn,用 nn 文錢買 nn 隻雞,問公雞、母雞、小雞各買多少只?

輸入格式

輸入乙個正整數 nn。

輸出格式

如果有解,依次輸出公雞、母雞、小雞的個數(用正整數表示)。

如果無解,輸出"no answer."。

資料範圍

1 \le n \le 20001≤n≤2000。

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入複製

100樣例輸出複製

0 25 75

4 18 78

8 11 81

12 4 84

本題有兩個點可以優化時間複雜度,將n3轉為n2以下:1:不需要三重迴圈,只需要在最內層將z的值計算出來即可,然後進行判斷,這是含有兩個等式的通常方法,2:考慮x,y的分別可以取得的最大值,x最大可以取得n/5;y最大可以取得n/3,然後將除法轉為乘法即可

//@author:hairu,wu

//@from:ahut

#include

using

namespace std;

intmain()

}}if(flag==

false

)return0;

}

計蒜客T1375 百錢買百雞 四

百錢買百雞問題 公雞五文錢乙隻,母雞三文錢乙隻,小雞三隻一文錢,用 100 文錢買 100 隻雞,公雞 母雞 小雞各買多少只?本程式要求解的問題是 給定乙個正整數 n,用 n 文錢買 n隻雞,問公雞 母雞 小雞各買多少只?輸入格式 輸入乙個正整數 n。輸出格式 如果有解,輸出有多少種解 可以用正整數...

百錢買百雞

這是個很簡單的邏輯,本來沒有什麼太多值得分享的。並且實現程式網上隨處可見,鄙人也並未提出更高深的意見。在閒暇看書時,對比了以下兩種實現。發現,其 實數學計算的不定性,可利用計算機的不斷重複 篩選 得到想要結果 如第一種實現 但是,顯而易見的是,第一種實現有個複雜度的問題。而第二種實現,是在數學計算推...

百錢買百雞

百錢買百雞。中國古代數學家張丘建在他的 算經 中提出了著名的 百錢買百雞 問題 雞翁一,值錢五 雞母一,值錢三 雞雛三,值錢一 百錢買百雞,翁 cock 母 hen 雛 chick 各幾何?include int main int cock,hen,chick printf cock t,hen t...