此问题跟“百钱买百鸡问题”同理。
中国古代数学家张丘建在他的
《算经》中提出了著名的“
百钱买百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡。
问:翁、母、雏各几何?
/*
百马百担问题:有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮一担。
问:大、中、小马各多少匹?
*/
# include <stdio.h>
int main(void)
{
int b, m, s; //定义big、middle、small horse;
for(b=0; b<=33; b++) //外层循环控制大马的数量最多在33只(等于34百担货物不够);
for(m=0; m<=50; m++)//内层循环控制中马的数量;
{
s = 100-b-m;//内外层循环控制下,小马的数量受大、中马数量的制约;
if(b*3 + m*2 + 0.5*s == 100)//每种马*所能驮的担数之和=100担,0.5是假定1匹马驮半担;
printf("大马%d匹,中马%d匹,小马%d匹\n", b, m, s);
}
return 0;
}
/*该程序在VC++6.0中的执行结果如下:
-----------------------------------
大马2匹,中马30匹,小马68匹
大马5匹,中马25匹,小马70匹
大马8匹,中马20匹,小马72匹
大马11匹,中马15匹,小马74匹
大马14匹,中马10匹,小马76匹
大马17匹,中马5匹,小马78匹
大马20匹,中马0匹,小马80匹
-----------------------------------
*/