Beste Antwort
Es gibt viele interessante Antworten auf diese… bizarre Frage… könnte genauso gut mein Glück versuchen, nehme ich an ?
Wir erhalten also: 2 + 2 = 6 und 1 + 3 =?
Methode 1:
Diese Frage ist irgendwie unter Mathematische Tricks und Rätsel markiert und ich nehme an, wir können jede mathematische Logik, die wir kennen, aussetzen, sagen wir ceteris paribus.
Bei näherer Betrachtung sehen wir, dass dies die einzige ist Der Unterschied zwischen beiden Gleichungen ist -1 (2 → 1) und +1 (2 → 3). Angenommen, ceteris paribus wie erwähnt, sollte die Antwort auch beide -1 erfahren und +1.
Daher lautet die einfache Antwort möglicherweise
1 + 3 = 6
Methode 2:
Und da dies a ist Rätsel, nehmen wir die Dinge aus einer anderen Perspektive. Während andere Methoden begonnen haben, Alphabete zu verwenden, werde ich eine typische Substitutionstechnik ausprobieren … obwohl sie möglicherweise fehlerhaft ist.
Nehmen wir an, dass 2 = 3.
2u = 3, also 1u = 1,5 und 3u = 4,5
Daher 1 + 3 = 1,5 + 4,5 = 6
Methode 3:
Wir sehen, dass 4 Zahlen vorhanden sind (2, 2, 1, 3), von denen zwei gleich sind (2) . Wenn wir die Multiplikation verwenden würden, was wäre, wenn die Zahlen in beide Gleichungen unterteilt würden?
2 × 3 = 6. Wir bleiben übrig mit 2 und 1.
Daher 2 × 1 = 2 = 1 + 3 = 2.
Dort Es gibt so viele mögliche Antworten und alles läuft auf unsere Kreativität beim Biegen mathematischer Gesetze hinaus.
Update: Ich mochte den Buchstabenansatz für das Puzzle und die Hände sehr Nach unten muss es die logischste und zugleich am besten geeignete Methode für ein Puzzle sein.
Antwort
Sieht so aus, als würde das + -Symbol überladen!
Wie wäre es damit? Wenn Sie einen Ausdruck haben, bei dem eine bestimmte Ganzzahl – zur Diskussion Rabbit genannt – auf beiden Seiten von + erscheint, müssen Sie Rabbit verdoppeln, das Ergebnis quadrieren und Rabbit zum Quadrat hinzufügen. 7 + 7 bedeutet also, dass Sie 7 verdoppeln müssen, was 14 ergibt. Quadrat 14, was 196 ergibt. Addieren Sie schließlich 7 zu 196, was 203 ergibt.
Das scheint der einfache Teil zu sein. Der interessante Teil des Puzzles ist für mich, wie man eine Definition dieser überladenen Methode in Scala schreibt, so dass der Hauptteil der Definition + mit seiner gewöhnlichen Bedeutung der einfachen Addition verwenden kann, nicht einer rekursiven Referenz. P. >
Ich muss mir darüber den Kopf kratzen.
Update: Der folgende Scala REPL-Dialog zeigt eine Möglichkeit, + im Kontext eines neuen Datentyps namens Rabbit eine neue Bedeutung zu geben.
scala> case class Rabbit(i: Int) {def +(y:Rabbit):Int=4*i*i+y.i}
defined class Rabbit
scala> Rabbit(7)
res5: Rabbit = Rabbit(7)
scala> res5+res5
res6: Int = 203
scala> (1 to 7).map(Rabbit(\_)).map(r=>r+r)
res7: scala.collection.immutable.IndexedSeq[Int] = Vector(5, 18, 39, 68, 105, 150, 203)