中國古代數(shù)學家張丘建在他的《算經(jīng)》中提出了一個著名的“百錢買百雞問題”,,雞翁一,值錢五,,雞母一,,值錢三,雞雛三,,值錢一,,百錢買百雞,問翁,、母,、雛各幾何?
實現(xiàn)過程:使用 for 語句對 3 種雞的數(shù)嫌在事先確定好的范圍內(nèi)進行窮舉并判斷,,對滿足條件的 3 種雞的數(shù)量按指定格式輸出,否則進行下次循環(huán),。
程序代碼如下:#include <stdio.h> int main() { int cock,hen,chick; /*定義變童為基本整型*/ for(cock=0;cock<=20;cock++) /*公雞范圍在 0~20 之間*/ for(hen=0;hen<=33;hen++) /*母雞范圍在 0~33 之間*/ for(chick=3;chick<=99;chick++) /*小雞范圍在 3~99 之間*/ if(5*cock+3*hen+chick/3==100) /*判斷錢數(shù)是否等于 100*/ if(cock+hen+chick==100) /*判斷購買的雞數(shù)是否等于 100*/ if(chick%3==0) /*判斷小雞數(shù)是否能被 3 整除*/ printf("公雞:%d,,母雞:%d,,小雞:%d\n",cock,hen,chick); return 0; }
運行結(jié)果:公雞:0,母雞:25,,小雞:75 公雞:4,,母雞:18,小雞:78 公雞:8,,母雞:11,,小雞:81 公雞:12,母雞:4,,小雞:84
技術(shù)要點:根據(jù)題意設(shè)公雞,、母雞和雛雞分別為 cock、hen 和 chick,。 ? 如果 100 元全買公雞,,那么最多能買 20 只,所以 cock 的范圍是大于等于 0 且小于等于 20,; ? 如果全買母雞,,那么最多能買 33 只,所以 hen 的范圍是大于等于 0 且小于等于 33,; ? 如果 100 元錢全買小雞,,那么最多能買 99 只(根據(jù)題意小雞的數(shù)量應(yīng)小于 100 且是 3 的倍數(shù))。 在確定了各種雞的范圍后進行窮舉并判斷,,判斷的條件有以下 3 點: (1) 所買的 3 種雞的錢數(shù)總和為 100,。 (2) 所買的 3 種雞的數(shù)量之和為 100。 (3) 所買的小雞數(shù)必須是 3 的倍數(shù),。 不管你是轉(zhuǎn)行也好,,初學也罷,進階也可,,如果你想學編程,,進階程序員~ 【值得關(guān)注】我的 編程學習交流俱樂部 ! |
|