我前些天在一位大佬的部落格中看到了關於百雞問題的解決方案所想到的問題,數學在對程式的重要性。
正常我們看到百雞問題(公雞五元乙隻,母雞三元乙隻,小雞一元三隻,100元錢買100隻雞其中公雞母雞小雞各多少只)就直接列個等式
x+y+z=100 5x+3y+z/3=100 0我們往往一執行得出結果就行了,但是壓根不去考慮這段**的時間複雜度,看這段**兩層for迴圈,所有時間複雜度為o(n^2);
這個時間複雜度就預示著我們的演算法需要優化了。
其實 我們對我們剛得到的方程進行運算, 可以得到y=25-7/4x 因為雞不能買半隻,所喲 x為整數,如1,2,3....
所以 x=4k; y=25-7k; z=75+3k; k為自然數 切 k<=3;
for(int i=1;i<=3;i++)**如上就是時間複雜度為o(n);
我剛開始遇到百雞問題的時候也是 到了第一步就停下來了,不去管時間複雜度的大小,也不考慮**是否優化,在我看到這篇文章後,我覺得數學在我們的程式中得重要性。我們在遇到問題的時候,不要上來就開始編碼,要先有個清晰地思路,然後看計畫是否可行,是否可以優化,這才是對程式的負責,而不是寫完執行出結果,就完事了。
重視數學,重視演算法!
百元百雞問題
c語言剛入門 每天閒來寫點東西來記錄一下 自己的成長過程 關於百元百雞問題 中國古代數學家張丘建在他的 算經 中提出了乙個著名的 百錢買百雞 的問題,雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問,翁 母 雛各幾何?這是乙個很有名的數學問題,要直接求解有一定的困難,雞翁 雞母 雞雛的...
72 百元買百雞問題
題目描述 西元前五世紀,我國古代數學家張丘建在 算經 一書中提出了 百雞問題 雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?詳細描述 介面說明 原型 int getresult vector list 輸入引數 無輸出引數 指標指向的記憶體區域保證有效 list 雞...
interview 百元與百雞
code 公雞每只5元錢,母雞每只3元錢,小雞3只1元錢,用一百元錢買100隻雞,問公雞。母雞,小雞各有多少只?有多少種可能?這是初中題目 設公雞有 i 只 母雞有 j 只 那麼小雞有 100 i j 只,設為 k 條件一 i j k 100 條件二 5 i 3 j k 3 100 隱含條件 i 2...