Die hier vorgestellten Lösungen waren größtenteils richtig und leicht zu verstehen.
Aber ich würde die Lösung bereitgestellt von Sany Huttunen :
zitiert:
if (x1 == x2 && x1 == y1 && x1 == y2)
{
printf("Input values shouldn't be equal!");
}
Hier ist der Grund dafür :
Obwohl es in diesem konkreten Fall nicht möglich zu sein scheint, hat es mich sofort dazu gebracht, über Refactoring nachzudenken, wie in:
(a*b) + (a*c) + (a*d)
die vereinfacht werden könnte zu
a*(b+c+d)
wie bereits erwähnt, ist eine Vereinfachung in diesem konkreten Fall jedoch nicht möglich, da
(a*b) + (a*c) + (a*d)
folgt anderen mathematischen Regeln als
(a+b) * (a+c) * (a+d)
Das hat etwas mit Kommutativ-, Assoziativ- und Distributivregeln zu tun, wenn ich mich richtig erinnere.
1 Stimmen
Meinen Sie, dass 1, 1, 1, 1 ungültig ist, aber 1, 1, 1, 2 gültig ist, oder müssen sie alle unterschiedlich sein?
0 Stimmen
1,1,1,1 ist ungültig, aber 1,1,1,2 ist gültig. Nur wenn alle Variablen auf denselben Wert gesetzt sind, ist sie ungültig.