Grundsätzlich, wenn ich eine Funktion wie folgt habe:
%Vor%Gibt es einen einfachen und präzisen Weg, um herauszufinden, ob n Zahlen gleich sind? Was ist mit nur drei Gegenständen? Gibt es eine mathematische Operation, die ich nutzen kann? Ich weiß, dass ich einen iterativen Lösungsansatz machen kann, ich bin nur neugierig, ob es andere Möglichkeiten gibt, diese zu lösen, die klarer sind.
Hier ist eine Zusammenfassung der Bedingungen, weil ich Schwierigkeiten habe, das Problem auszudrücken:
%Vor%Eine Methode wäre, die Parameter zu einer Menge hinzuzufügen und dann zu sehen, ob die Länge dieser Menge gleich 2 ist (oder weniger als 3, wenn Sie true zurückgeben, wenn sie alle gleich sind). Zum Beispiel in Python:
%Vor%In C oder C ++ können Sie tun:
%Vor%oder um die Anzahl der Übereinstimmungen zurückzugeben:
%Vor%Für den Fall, dass Sie nur angeben möchten, ob 2 gleich sind:
%Vor%Wir verwenden gerne bitweise oder | anstatt logisch || für die Leistung. Dies alles basiert auf dem Standard, der angibt, dass Vergleiche 1 für TRUE und 0 für FALSE zurückgeben.
Wenn die Eingabevariablen boolesch sind, können Sie eine Wahrheitstabelle erstellen und die resultierende Funktion zum Beispiel mit einem KV-Diagramm minimieren
%Vor%Die Minimierung ergibt, dass das Ergebnis von
zurückgegeben wird %Vor%KV-Diagramm ist einfach zu handhaben für bis zu 4 Variablen (mit Erfahrung vielleicht 6 Variablen) mehr Booleans brauchen anspruchsvollere Techniken.
Tags und Links algorithm