Einführung
Definieren wir eine ternäre Funktion als eine Funktion aus der Dreielementmenge S = {0,1,2}zu sich selbst: Sie wird jedem Element eines Sanderen Elements von zugeordnet S. Ein Beispiel für eine ternäre Funktion fist
f(0) = 0; f(1) = 2; f(2) = 0
Es gibt genau 27 verschiedene ternäre Funktionen, und wir stellen sie mit ganzen Zahlen von 0 bis 26 dar: Eine Funktion fwird als codiert f(0) + 3*f(1) + 9*f(2). Die obige Beispielfunktion ist als Nummer 6 codiert.
Wir können zwei ternären Funktionen anwenden fund gin der Folge, und wenn f(g(k)) == g(f(k))für alle hält kin S, dann die Funktionen pendeln . Ihre Aufgabe ist es zu überprüfen, ob dies der Fall ist.
Eingang
Ihre Eingaben sind zwei ganze Zahlen im Bereich von 0 bis 26. Sie repräsentieren zwei ternäre Funktionen fund g. Die Eingabe muss im Dezimal-, Binär- oder Unärformat (Zeichenfolge von 1s) erfolgen.
Ausgabe
Ihre Ausgabe ist ein wahrer Wert, wenn fund gpendeln, und ein falscher Wert, wenn sie nicht. Sie können nicht davon ausgehen, dass die Eingänge geordnet sind.
Beispiele
Betrachten Sie die Eingänge 5 und 16. Sie codieren die ternären Funktionen
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Wir haben f(g(1)) == f(2) == 0und g(f(1)) == g(1) == 2, so fund gnicht pendeln und die korrekte Ausgabe ist Falsey.
Andererseits codieren die Eingänge 3 und 10 die ternären Funktionen
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
und es kann überprüft werden , dass f(g(k)) == g(f(k))für alle hält kin S. Dann ist die richtige Ausgabe wahr.
Hier ist die 27 × 27-Tabelle aller möglichen Eingaben, wobei +eine wahrheitsgemäße Ausgabe und -eine falsche Ausgabe markiert sind:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig.