鸡兔同笼的问题,怎么编程?我做的怎么不对?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/29 07:58:07
鸡兔同笼的问题,怎么编程?我做的怎么不对?
![](http://img.wesiedu.com/upload/3/f7/3f72371575a642ed5e2c2ef351e8acff.jpg)
![](http://img.wesiedu.com/upload/3/f7/3f72371575a642ed5e2c2ef351e8acff.jpg)
![鸡兔同笼的问题,怎么编程?我做的怎么不对?](/uploads/image/z/16970118-6-8.jpg?t=%E9%B8%A1%E5%85%94%E5%90%8C%E7%AC%BC%E7%9A%84%E9%97%AE%E9%A2%98%2C%E6%80%8E%E4%B9%88%E7%BC%96%E7%A8%8B%3F%E6%88%91%E5%81%9A%E7%9A%84%E6%80%8E%E4%B9%88%E4%B8%8D%E5%AF%B9%3F)
我晕倒.你当列个2元一次方程计算机就能自己帮你把这个方程解出来啊?计算机只能一个数一个数的来试的.因为x+y=30,所以我们知道x,y的最大值就是30了,那么就把x从1到30,y从1到30分别来试试看什么组合能满足要求就好:#include <stdio.h>
int main()
{
int x, y;
int find = 0;
for (x = 0; x <= 30; x++)
{
for (y = 0; y <= 30; y++)
{
if ((x+y) == 30 && (2*x + 4*y) == 90)
{
find = 1;
break;
}
}
if (find)
break;
}
if (find)
printf("%d, %d\n", x, y);
else
printf("Can't find\n");
}
再问: 那么复杂的啊,我还没学到后面的东西。最简单的怎么做?不过还是谢谢你了。
再答: 用电脑来做的话,这就是最简单的了。 你说没学到后面的东西,是什么没学到?for循环吗?还是if判断?还是其他什么?
int main()
{
int x, y;
int find = 0;
for (x = 0; x <= 30; x++)
{
for (y = 0; y <= 30; y++)
{
if ((x+y) == 30 && (2*x + 4*y) == 90)
{
find = 1;
break;
}
}
if (find)
break;
}
if (find)
printf("%d, %d\n", x, y);
else
printf("Can't find\n");
}
再问: 那么复杂的啊,我还没学到后面的东西。最简单的怎么做?不过还是谢谢你了。
再答: 用电脑来做的话,这就是最简单的了。 你说没学到后面的东西,是什么没学到?for循环吗?还是if判断?还是其他什么?