Bästa svaret
Det finns många intressanta svar på denna … bizzare fråga … kan lika gärna prova lyckan antar jag ?
Så vi får: 2 + 2 = 6 och 1 + 3 =?
Metod 1:
Denna fråga är på något sätt taggad under matematiska tricks och pussel och jag antar att vi kan stänga av all matematisk logik som vi känner, säg ceteris paribus.
Vid närmare granskning ser vi att den enda skillnaden mellan båda ekvationerna är -1 (2 → 1) och +1 (2 → 3). Förutsatt att ceteris paribus som nämnts, bör svaret också uppleva både -1 och +1.
Därför är det enkla svaret möjligen
1 + 3 = 6
Metod 2:
Och eftersom detta är en pussel, låt oss ta saker från ett annat perspektiv. Medan andra metoder har börjat använda alfabet, kommer jag att testa en typisk ersättningsteknik … även om det kan vara bristfälligt.
Låt oss anta att 2 = 3.
2u = 3 så därför, 1u = 1,5 och 3u = 4,5
Därför 1 + 3 = 1,5 + 4,5 = 6
Metod 3:
Vi ser att det finns 4 siffror närvarande (2, 2, 1, 3), varav två är desamma (2) . Om vi skulle använda multiplikation, tänk om siffrorna delades in i båda ekvationerna?
2 × 3 = 6. Vi har kvar med 2 och 1.
Därför 2 × 1 = 2 = 1 + 3 = 2.
Där finns så många möjliga svar och allt handlar om vår kreativitet när det gäller att böja matematiska lagar.
Uppdatering: Jag gillade verkligen bokstäverna till pusslet och händerna ner måste det vara den mest logiska men ändå mest passande metoden för ett pussel.
Svar
Det verkar som om detta kräver överbelastning av + -symbolen!
Vad sägs om detta? Om du har ett uttryck där ett visst heltal – kalla det Kanin för diskussionens skull – visas på båda sidor av +, är det skyldigt att du dubblar Kanin, kvadrerar resultatet och lägger till Kanin på rutan. Så, 7 + 7 betyder att du måste dubbla 7, vilket ger 14. Kvadrat 14, vilket ger 196. Slutligen lägg till 7 till 196, vilket ger 203.
Det verkar vara den enkla delen. Den intressanta delen av pusslet är för mig hur man skriver en definition av den överbelastade + metoden i Scala, så att definitionsdelen kan använda + med sin vanliga betydelse av enkel tillsats, inte en rekursiv referens.
Jag måste skrapa i huvudet över det.
Uppdatering: Följande Scala REPL-dialog illustrerar ett sätt att ge + en ny mening, i samband med en ny datatyp som heter Rabbit.
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)