Jos 2 + 2 = 6, sitten 1 + 3 =?


Paras vastaus

Tähän… bizzare-kysymykseen on monia mielenkiintoisia vastauksia … luultavasti voisin myös kokeilla onneani ?

Meille annetaan siis: 2 + 2 = 6 ja 1 + 3 =?

Menetelmä 1:

Tämä kysymys on jotenkin merkitty matemaattisiin temppuihin ja palapeleihin ja luulen, että voimme keskeyttää kaiken tiedämme matemaattisen logiikan, sanoa ceteris paribus.

Tarkasteltaessa huomaamme, että ainoa ero molempien yhtälöiden välillä on -1 (2 → 1) ja +1 (2 → 3). Olettaen, että ceteris paribus mainittiin, vastauksen tulisi myös kokea molemmat -1 ja +1.

Siksi mahdollisesti yksinkertainen vastaus on

1 + 3 = 6

Menetelmä 2:

Ja koska tämä on palapeli, otetaan asiat toisesta näkökulmasta. Vaikka muut menetelmät ovat alkaneet käyttää aakkosia, yritän tyypillistä korvaustekniikkaa … vaikka se saattaa olla puutteellinen.

Oletetaan, että 2 = 3.

2u = 3, siis 1u = 1,5 ja 3u = 4,5

Siksi 1 + 3 = 1,5 + 4,5 = 6

Tapa 3:

Näemme, että läsnä on 4 numeroa (2, 2, 1, 3), joista kaksi on samat (2) . Jos käytämme kertolaskua, entä jos numerot jaettaisiin molempiin yhtälöihin?

2 × 3 = 6. Olemme jäljellä 2 ja 1 kanssa.

Siksi 2 × 1 = 2 = 1 + 3 = 2.

Siellä on niin monia mahdollisia vastauksia, ja se kaikki johtuu luovuudestamme matemaattisten lakien taivuttamisessa.

Päivitys: Pidin todella palapelin ja käsien kirjaimellisesta lähestymistavasta alaspäin, sen on oltava loogisin mutta silti sopivin tapa palapelille.

Vastaus

Näyttää siltä, ​​että tämä vaatii ylikuormittaa + -merkkiä!

Entä tämä? Jos sinulla on lauseke, jossa annettu kokonaisluku – kutsu sitä keskustelun vuoksi Kaniksi – näkyy +: n molemmin puolin, sinun on kaksinkertaistettava Kani, neliö tulos ja lisättävä Kani neliöön. Joten 7 + 7 tarkoittaa, että sinun on kaksinkertaistettava 7, jolloin 14. Neliö 14, jolloin 196. Lisää lopuksi 7 196: een ja anna 203.

Se näyttää olevan helppo osa. Palapelin mielenkiintoinen osa on minulle se, kuinka kirjoitetaan määritelmä tälle ylikuormitetulle + -menetelmälle Scalassa siten, että määritelmän runko voi käyttää + tavallisella merkityksellään yksinkertainen lisäys, ei rekursiivinen viite.

Minun on naarmuttava siitä päätäni.

Päivitys: Seuraava Scala REPL -valintaikkuna kuvaa tapaa antaa + uusi merkitys uuden tietotyypin yhteydessä, nimeltään Kani.

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)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *