给你一个方程ax+by+cz+d=0,给你abcd的值,让你找到一个满足的解
若有多个满足要求的,仅输出一个答案,要求x尽可能小,在x相等的情况下y尽可能小,在x,y都相等的情况下z尽可能小
输入
对于每一组数据,输入四个数a,b,c,d
1<=a,b,c,d<=100
输出
对于每一组数据,输出一个满足要求的解,若在-100到100之间没有满足要求的解,输出-1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, c, d;
int x, y, z;
bool found;
while (scanf("%d %d %d %d", &a, &b, &c, &d) != EOF) {
found = false;
for (x = -100; x <= 100; x++) {
for (y = -100; y <= 100; y++) {
for (z = -100; z <= 100; z++) {
if (a * x + b * y + c * z + d == 0) {
found = true;
}
if (found) {
break;
}
}
if (found) {
break;
}
}
if (found) {
break;
}
}
if (!found) {
printf("-1\n");
}
else {
printf("x=%d,y=%d,z=%d\n", x, y, z);
}
}
return 0;
}
int main()
{
int a, b, c, d;
int x, y, z;
int flag = 1;
x = y = z = -100;
scanf("%d%d%d%d", &a, &b, &c, &d);
for (; x <= 100 && flag; x++)
{
for (; y <= 100 && flag; y++)
{
for (; z <= 100 && flag; z++)
{
if (a * x + b * y + c * z + d == 0)
{
printf("%d %d %d\n", x, y, z);
flag = 0;
break;
}
}
}
}
if (x > 100)
printf("-1\n");
return 0;
}