编程解决百元百鸡问题
(1)问题描述
中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。现有100个钱,要刚好买100只鸡,且三种鸡都有。
(2)源代码
#include <stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=100;x++)
for(y=1;y<=100;y++)
for(z=1;z<=300;z++)
if( (x*5+y*3+z/3==100) && (x+y+z==100) &&z%3==0)
printf("%d %d %d\n",x,y,z);
return 0;
}
(3)运行示例
(4)代码思路
- 首先,声明三个整数变量
x
,y
和z
。 - 然后,使用三个嵌套的
for
循环,分别遍历x
,y
和z
的所有可能的值,从1开始,每次加1,直到100,200或300为止。 - 接着,使用一个
if
语句判断x
,y
和z
是否满足上述条件,即是否同时满足三个等式。如果是,就使用printf
函数输出x
,y
和z
的值,以空格分隔,并换行。 - 最后,返回0,表示程序正常结束。