百雞問題是一個古老的數學問題,它的解決方法可以用來訓練計算機編程技巧。本文將介紹。
1.問題描述
有一百只雞,一百元錢,公雞5元一只,母雞3元一只,小雞1元三只。問公雞、小雞各多少只?
2.解決方法
用窮舉法解決百雞問題,需要三重循環,分別枚舉公雞、小雞的數量。具體思路如下
(1)枚舉公雞數量,從0到20;
(2)枚舉母雞數量,從0到33;
(3)計算小雞數量,用總錢數減去公雞和母雞的價錢,再除以3;
(4)判斷小雞數量是否為整數,如果是,則符合條件,輸出結果。
C語言代碼如下
clude
tain()
{t i, j, k;
for(i=0; i<=20; i++)
{
for(j=0; j<=33; j++)
{
k = 100 - i - j;
if(k%3==0 && 5i+3j+k/3==100)
{tf", i, j, k);
}
}
} 0;
3.代碼解析
(1)重循環枚舉公雞數量,從0到20;
(2)第二重循環枚舉母雞數量,從0到33;
(3)第三重循環計算小雞數量,用總錢數減去公雞和母雞的價錢,再除以3;
(4)判斷小雞數量是否為整數,如果是,則符合條件,輸出結果。
4.運行結果
公雞0只,母雞25只,小雞75只
公雞4只,母雞18只,小雞78只
公雞8只,母雞11只,小雞81只
公雞12只,母雞4只,小雞84只
本文介紹了,即用窮舉法解決。通過三重循環枚舉公雞、小雞的數量,可以得到所有符合條件的結果。這個方法雖然比較簡單,但是可以鍛煉編程思維和技巧,是入門級別的編程練習。