解题思路:
1 : x1 + x2 + x3 = 100
2: 5 * x1 + x2 * 3 + x3 / 3 = 100
把x3 看成自由变量
因此3元方程就变成2元方程
解得:x1 = (4 * x3 - 300 ) / 3
x2 = (600 - 7 * x3 ) / 3
当x3=75时, x1=0; 当x3 = 85时,x2=0;
x1 是递增的 , x2是递减的, 并且x1 >= 0 , x2 >= 0
所有x3的取值范围是[75,85]
注意事项:
参考代码:
#include
int main()
{
int x3;
int x1, x2;
for (x3 = 75; x3 <= 85; x3++)
{
if ((4 * x3 - 300) / 3 != (4 * x3 - 300) / 3.0) continue; // 判断是否是整数
if ((600 - 7 * x3) / 3 != (600 - 7 * x3) / 3.0) continue; // 判断是否是整数
x1 = (4 * x3 - 300) / 3;
x2 = (600 - 7 * x3) / 3;
if (x1 + x2 + x3 == 100 && (5 * x1 + 3 * x2 + x3 / 3.0) == 100)
{
printf("cock=%d,hen=%d,chicken=%d\n", x1, x2, x3);
}
}
return 0;
}
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
剪刀石头布 (C语言代码)浏览:1746 |
【明明的随机数】 (C语言代码)浏览:785 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:672 |
完数 (C语言代码)浏览:685 |
1124题解浏览:591 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:534 |
1231题解(注意理解“输入多个测试实例”)浏览:785 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:594 |
剔除相关数 (C语言代码)浏览:1084 |