最简单的就是用一个双层for循环遍历,找出鸡和兔的个数。
假设,鸡x只,兔子y只。
每只鸡和兔子都有1个头,x+y是总头数
每只鸡2只脚,每只兔子4只脚,2x+4y就是总脚数
所以鸡和兔子的数量满足下面两个公式:
x+y=16
2x+4y=40
符合这两个公式的x和y就是鸡和兔子的数量。
代码如下:
#include <stdio.h>
int main()
{
int x,y;//鸡的个数和兔子的个数
//因为头数是16,所以数量不会超过16
for (x=0;x<=16;x++)
{
for (y=0;y<=16;y++)
{
if (x+y==16 && 2*x+4*y==40)
{
printf("鸡%d只,兔子%d只\n",x,y);
return 0;
}
}
}
return 0;
}
先解方程组得到
x=2h-f/2
y=f/2-h
再编程
#include <stdio.h>
int main()
{
int h,f,x,y;
printf("请输入总头数和总脚数:\n");
scanf("%d%d",&h,&f);
x=2*h-f/2;//注意2*h,而不是2h
y=f/2-h;
printf("总头数为%d,总脚数为%d\n",h,f);
printf("鸡一共%d只,兔子一共%d只",x,y);
}