穷举法:
问题:百鸡问题:
中国古代数学家张丘建在《算经》中提出了一个著名的
百钱百鸡问题”":鸡翁一,值钱五,鸡母一,值钱三
鸡锥三,值钱一,百钱买百鸡,问翁、母、锥各几何?
分析: ◆定义变量:
x:公鸡数目取值1~100
y:母鸡数目取值1~100
z:小鸡数目取值1~100
即要使以下两个条件同时满足即可:
x+y+z==100;
5*x+3*y+z/3=100&&z%3==0;
测试所有可能的x,y,z的值,找出符合条件的解;
#include<stdio.h>
int main()
{
int x,y,z;
for(x=1;x<=20;x++)
for(y=1;y<=33;y++)
for(z=1;z<=100;z++)
if(x+y+z==100&&5*x+3*y+z/3==100)
printf("x=%d,y=%d,z=%d",x,y,z);
return 0;
}