Решения, представленные здесь, где в основном правильно и легко понять, ,
Но я бы предпочел solution provided by Sany Huttunen:
цитирует:
if (x1 == x2 && x1 == y1 && x1 == y2)
{
printf("Input values shouldn't be equal!");
}
Вот причина, почему:
Хотя это кажется не возможным в данном конкретном случае он направил меня сразу же задумываясь о рефакторинге, как в:
(a*b) + (a*c) + (a*d)
, которые могут быть упрощены в
a*(b+c+d)
как уже упоминалось, это не представляется возможным упростить в этом конкретном случае, однако, из-за
(a*b) + (a*c) + (a*d)
следует различные математические правила, то
(a+b) * (a+c) * (a+d)
Это имеет что-то делать с коммутативными, ассоциативными и дистрибутивными правилами, если я правильно помню.
Вы имеете в виду, что 1, 1, 1, 1 является недействительным, но 1, 1, 1, 2 действительно, или все они должны быть разными? – Xav
1,1,1,1 недействителен, но действует 1,1,1,2. Только если все переменные установлены в одно и то же значение, это недействительно. – Fergus