C語(yǔ)言百錢(qián)買(mǎi)百雞(百錢(qián)百雞,百雞問(wèn)題)
中國(guó)古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了一個(gè)著名的“百錢(qián)買(mǎi)百雞問(wèn)題”,雞翁一,值錢(qián)五,雞母一,值錢(qián)三,雞雛三,值錢(qián)一,百錢(qián)買(mǎi)百雞,問(wèn)翁、母、雛各幾何?
實(shí)現(xiàn)過(guò)程:
(1) 使用 for 語(yǔ)句對(duì) 3 種雞的數(shù)嫌在事先確定好的范圍內(nèi)進(jìn)行窮舉并判斷,對(duì)滿足條件的 3 種雞的數(shù)量按指定格式輸出,否則進(jìn)行下次循環(huán)。
(2) 程序代碼如下:
#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) /*判斷錢(qián)數(shù)是否等于 100*/
if(cock+hen+chick==100) /*判斷購(gòu)買(mǎi)的雞數(shù)是否等于 100*/
if(chick%3==0) /*判斷小雞數(shù)是否能被 3 整除*/
printf("公雞:%d,母雞:%d,小雞:%d\n",cock,hen,chick);
return 0;
}
</stdio.h>
運(yùn)行結(jié)果:
公雞:0,母雞:25,小雞:75
公雞:4,母雞:18,小雞:78
公雞:8,母雞:11,小雞:81
公雞:12,母雞:4,小雞:84
技術(shù)要點(diǎn):
根據(jù)題意設(shè)公雞、母雞和雛雞分別為 cock、hen 和 chick,如果 100 元全買(mǎi)公雞,那么最多能買(mǎi) 20 只,所以 cock 的范圍是大于等于 0 且小于等于 20;如果全買(mǎi)母雞,那么最多能買(mǎi) 33 只,所以 hen 的范圍是大于等于 0 且小于等于 33;如果 100 元錢(qián)全買(mǎi)小雞,那么最多能買(mǎi) 99 只(根據(jù)題意小雞的數(shù)量應(yīng)小于 100 且是 3 的倍數(shù))。
在確定了各種雞的范圍后進(jìn)行窮舉并判斷,判斷的條件有以下 3 點(diǎn):
(1) 所買(mǎi)的 3 種雞的錢(qián)數(shù)總和為 100。
(2) 所買(mǎi)的 3 種雞的數(shù)量之和為 100。
(3) 所買(mǎi)的小雞數(shù)必須是 3 的倍數(shù)。
作者:大學(xué)生新聞網(wǎng) 來(lái)源:大學(xué)生新聞網(wǎng)
發(fā)布時(shí)間:2025-03-03 閱讀:
- C語(yǔ)言猴子吃桃問(wèn)題
- 猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。
- 03-03 關(guān)注:0