蜘蛛有八条腿,蜻蜓有六条腿和两对翅膀,产蝉六条腿和一对翅膀,三种虫子共118条腿和20对翅,每种虫子各有几只?
尽量写出简单明了的程序
最好理解的就是穷举方法了
用三层for循环去求值。
只能用穷举法了。你这是三个未知数两个式子,只能for穷举。但是可以对方程进行化简,就可以减少循环。
分别设三个动物为X,Y,Z只。
有方程组
8x+6y+6z=118
2y+z=20
化简可以得到
8x+3z=58
2y+z=20
对8x+3z进行穷举,因为x为正整数,所以只需要for循环到7.
满足 (58-8i)%3==0 即为解。
#include <stdio.h>
int main()
{
for(int i=1;i<=7;i++)
if((58-8i)%3==0){
int y=(58-8i)/3;
int z=20-2y
printf("x=%d,y=%d,z=%d\n",i,y,z);
}
return 0;
}