3. C語言百錢買百雞(百錢百雞,百雞問題)

中國古代數學家張丘建在他的《算經》中提出了一個著名的「百錢買百雞問題」,雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?html

實現過程:

(1) 使用 for 語句對 3 種雞的數嫌在事先肯定好的範圍內進行窮舉並判斷,對知足條件的 3 種雞的數量按指定格式輸出,不然進行下次循環。微信

(2) 程序代碼以下:學習

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int cock,hen,chick;   /*定義變童爲基本整型*/
 5  
 6     for(cock=0;cock<=20;cock++)   /*公雞範圍在 0~20 之間*/
 7  
 8     for(hen=0;hen<=33;hen++)   /*母雞範圍在 0~33 之間*/
 9  
10     for(chick=3;chick<=99;chick++)   /*小雞範圍在 3~99 之間*/
11  
12     if(5*cock+3*hen+chick/3==100)   /*判斷錢數是否等於 100*/
13  
14     if(cock+hen+chick==100)   /*判斷購買的雞數是否等於 100*/
15  
16     if(chick%3==0)   /*判斷小雞數是否能被 3 整除*/
17  
18     printf("公雞:%d,母雞:%d,小雞:%d\n",cock,hen,chick);
19  
20     return 0;
21 }

運行結果:spa

公雞:0,母雞:25,小雞:75
公雞:4,母雞:18,小雞:78
公雞:8,母雞:11,小雞:81
公雞:12,母雞:4,小雞:84

技術要點:

根據題意設公雞、母雞和雛雞分別爲 cock、hen 和 chick,若是 100 元全買公雞,那麼最多能買 20 只,因此 cock 的範圍是大於等於 0 且小於等於 20;若是全買母雞,那麼最多能買 33 只,因此 hen 的範圍是大於等於 0 且小於等於 33;若是 100 元錢全買小雞,那麼最多能買 99 只(根據題意小雞的數量應小於 100 且是 3 的倍數)。code

在肯定了各類雞的範圍後進行窮舉並判斷,判斷的條件有如下 3 點:
(1) 所買的 3 種雞的錢數總和爲 100。
(2) 所買的 3 種雞的數量之和爲 100。
(3) 所買的小雞數必須是 3 的倍數。htm


 

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

點擊查看原文,謝謝!get

相關文章
相關標籤/搜索