数学思想:
x + y = 98 // x 只鸡 y只兔子
2 x + 4(98-x) = 386 ;
得出 x 带入 x + y = 98 ;
以上为数学解法,下面转化为编程。
编程思想:
x 的取值范围 从 0 到 98
对应 y 的取值范围 从 98 到 0
x 每增加 1 y 就减少 1
这就可以对应数学思想中的 x + y = 98
#include <stdio.h>
int main()
{
int x,y = 98 ;
for ( x = 0 ; x <= 98 ; x++ )
{
if ( 2 * x + 4 * y == 386)
{
printf("共有 %d 只鸡,%d只兔子\n",x,y);
}
y-- ; // 鸡的个数每增加一个,兔子的个数就减少一个
}
return 0 ;
}
方法二:利用总的 ‘ 脚 ’ 的个数相加等于386
#include <stdio.h>
int main()
{
int x = 0,y = 392 ; // 全部都为兔子时候脚的只数为 392
for ( y = 392 ; y >= 0 ; y = y - 4 ) // y = y - 4 是每减少一只兔子,少了4只脚
{
if ( y + x == 386)
{
printf("鸡的只数为%d,兔子的只数为 %d\n\n",x/2,y/4);
}
x = x + 2 ;
}
return 0 ;
}