11. C語言百錢買百雞問題(詳解版)

我國古代數學家張丘建在《算經》一書中曾提出過著名的「百錢買百雞」問題,該問題敘述以下:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,則翁、母、雛各幾何?

翻譯過來,意思是公雞一個五塊錢,母雞一個三塊錢,小雞三個一塊錢,如今要用一百塊錢買一百隻雞,問公雞、母雞、小雞各多少隻?html

題目分析

若是用數學的方法解決百錢買百雞問題,可將該問題抽象成方程式組。設公雞 x 只,母雞 y 只,小雞 z 只,獲得如下方程式組:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100

若是用解方程的方式解這道題須要進行屢次猜解,計算機的一個優點就是計算速度特別暴力而且無怨無悔,因此咱們能夠欺負她、蹂躪她!所以咱們用窮舉法的方式來解題,須要 101^3 次猜解,但對於計算機來講,小 CASE!

代碼實例:微信

 1 #include <stdio.h>
 2  
 3 int main()
 4 {
 5     int i, j, k;
 6  
 7     printf("百元買百雞的問題全部可能的解以下:\n");
 8  
 9     for( i=0; i <= 100; i++ )
10         for( j=0; j <= 100; j++ )
11             for( k=0; k <= 100; k++ )
12             {
13                 if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )
14                 {
15                     printf("公雞 %2d 只,母雞 %2d 只,小雞 %2d 只\n", i, j, k);
16                 }
17             }
18  
19     return 0;
20 }

運行結果:學習

百元買百雞的問題全部可能的解以下:
公雞  0 只,母雞 25 只,小雞 75 只
公雞  4 只,母雞 18 只,小雞 78 只
公雞  8 只,母雞 11 只,小雞 81 只
公雞 12 只,母雞  4 只,小雞 84

感謝你的閱讀,請用心感悟!更多內容請關注微信公衆號:C語言自學網  ;但願能夠幫到愛學習的你!!分享也是一種快樂!!!請接力。。。spa

點擊查看原文,謝謝!翻譯

相關文章
相關標籤/搜索