Heips,
Törmäsin tämmöiseen pulmapeliin netissä: http://koti.tnnet.fi/web281/reversigma/
Kyseessä on tuollainen koodinmurtamistehtävä, joka ei ole mahdottoman vaikea. En silti keksi siihen sellaista älykästä ratkaisukaavaa, jota käyttämällä saisin automaattisesti oikean vastauksen vaan joudun pyörittelemään eri vaihtoehtoja päässä.
Osaisiko joku teistä keksiä kätevämmän ratkaisumetodin tuohon?
Törmäsin tämmöiseen pulmapeliin netissä: http://koti.tnnet.fi/web281/reversigma/
Kyseessä on tuollainen koodinmurtamistehtävä, joka ei ole mahdottoman vaikea. En silti keksi siihen sellaista älykästä ratkaisukaavaa, jota käyttämällä saisin automaattisesti oikean vastauksen vaan joudun pyörittelemään eri vaihtoehtoja päässä.
Osaisiko joku teistä keksiä kätevämmän ratkaisumetodin tuohon?
Vastaukset 1
Vanhimmat
Helppoja nopeita ajatuksia (kohta pitää juosta palauttamaan viikon läksyt...)
Pelihän on erinomainen, jos on hyvä työmuisti, ja erinomaista harjoitusta - olettaisin - työmuistin "huoltoon".
Lähdetään siitä, että painallussarjassa viimeistä nappia on pitänyt painaa, jotta kaikki painallukset on voitu tehdä; tämä tarkoittaa sitä, että yhden napin kirjain muuttuu napin numeroa vastaavaksi; etsit siis kaikki napit, joissa on numeroa vastaava kirjain - ne ovat ainoat mahdollisuudet tällöin viimeiseksi napinpainallukseksi ("nappia on painettu" implikoi "kirjain on muuttunut numeroa vastaavaksi").
Tämän jälkeen vähennetään muiden nappien numeroarvoista yksi ja katsotaan tilanetta uudesta näkökulmasta: mitkä ovat potentiaaliset ehdokkaat toiseksi viimeisen napin painallukselle (huomaa myös, että potentiaalisena ehdokkaana voi täysin hyvin olla sama nappi kuin mitä "tullaan painamaan viimeiseksi" - ainakin teoriassa, ellei säännöt tätä kiellä; en niihin niin kovast tutustunut).
Tästä sitten lähdet joko ohjelmoimaan suosikkiohjelmointikielelläsi algoritmia, joka laskee syötetystä lopputilanteesta ja nappienpainallusmäärästä kaikki mahdolliset alkutilanteet; tai sitten käytät työmuistiasi tai sitten paperia ja kynää tms. tilanteiden ylläpitämiseen.
Eihän tähän mitään yks-plus-yks-on-kaks -kaavaa kai pitäisi olla; sellaista, jolla saisit ratkaisun sekunnissa ilman minkäänlaista "bäkträkkäystä", koska muutenhan peli olisi vähän niin kuin "rikki". Tosin voihan olla, että peli on "rikki" enkä vain itse sellaista osaa keksiä...