Legjobb válasz
Sok érdekes válasz van erre a … bizzare kérdésre … gondolom, szerencsét is próbálhat ?
Tehát kapunk: 2 + 2 = 6 és 1 + 3 =?
1. módszer:
Ez a kérdés valahogy meg van címkézve a Matematikai trükkök és rejtvények alatt és feltételezhetjük, hogy felfüggeszthetjük az összes ismert matematikai logikát, mondjuk ceteris paribus.
Alaposabb vizsgálat után azt látjuk, hogy a két egyenlet közötti különbség -1 (2 → 1) és +1 (2 → 3). Feltételezve, hogy ceteris paribus , amint említettük, a válasznak mind a -1 és +1.
Ezért valószínűleg az egyszerű válasz
1 + 3 = 6
2. módszer:
És mivel ez egy puzzle, vegyük a dolgokat egy másik szemszögből. Míg más módszerek elkezdték használni az ábécét, megpróbálkozom egy tipikus helyettesítési technikával … bár lehet, hogy hibás.
Tegyük fel, hogy 2 = 3.
2u = 3, tehát 1u = 1,5 és 3u = 4,5
Ezért 1 + 3 = 1,5 + 4,5 = 6
3. módszer:
Úgy látjuk, hogy 4 szám van jelen (2, 2, 1, 3), amelyek közül kettő azonos (2) . Ha szorzást használnánk, mi lenne, ha a számokat mindkét egyenletre osztanánk?
2 × 3 = 6. maradtunk 2-vel és 1-vel.
Ezért 2 × 1 = 2 = 1 + 3 = 2.
Ott ennyi lehetséges válasz van, és mindez a matematikai törvények meghajlításában rejlő kreativitásunknak köszönhető.
Frissítés: Nagyon tetszett a puzzle és a kezek betűs megközelítése Ez a logika leglogikusabb, mégis legmegfelelőbb módszere.
Válasz
Úgy tűnik, ez a + szimbólum túlterhelését kéri!
Mi lenne ezzel? Ha van olyan kifejezése, ahol egy adott egész szám – nevezzük Nyúlnak a vita kedvéért – megjelenik a + mindkét oldalán, akkor köteles megduplázni a Nyulat, négyzetelni az eredményt és hozzáadni a Nyúl négyzetet. Tehát a 7 + 7 azt jelenti, hogy meg kell duplázni a 7-et, megadva a 14. négyzetet, megadva a 196-at. Végül adjunk hozzá 7-et 196-hoz, ami 203-at ad.
Úgy tűnik, ez a könnyű rész. A rejtvény érdekes része számomra az, hogy miként lehet leírni a Scala-ban a túlterhelt + módszer definícióját úgy, hogy a definíció törzse az egyszerű összeadás hétköznapi jelentésével, és ne rekurzív hivatkozással tudja használni a >
Erre meg kell kaparintanom a fejem.
Frissítés: A következő Scala REPL párbeszéd szemlélteti a + új értelem adásának módját a Nyúl nevű új adattípus összefüggésében.
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)