Kaip žaisti Hanojaus bokštus
- Pasirinkite diskų skaičių (3–8). Iš pradžių visi sukrauti ant 1 kuolo: didžiausias apačioje, mažiausias viršuje.
- Bakstelėkite kuolą, kad paimtumėte viršutinį jo diską, tada bakstelėkite kuolą, kuriam jį norite perkelti. Diską taip pat galite nuvilkti ant kito kuolo.
- Perkelkite po vieną diską ir niekada nedėkite disko ant mažesnio.
- Laimite, kai visas bokštas atsiduria ant kito kuolo. Skaitiklis rodo jūsų ėjimus ir mažiausią galimą skaičių; jei užstrigote, mygtukas „Išspręsti“ parodo trumpiausią sprendimą.
Logikos ir rekursijos klasika
Hanojaus bokštai yra matematinis galvosūkis, kurį 1883 metais išrado prancūzas Édouard Lucas. Su n diskų mažiausias ėjimų skaičius yra 2 laipsniu n minus 1: 7 su trimis diskais, 15 su keturiais, 31 su penkiais ir 255 su aštuoniais. Kiekvienas pridėtas diskas padvigubina darbą ir prideda vieną ėjimą.
Yra sistemingas būdas jį išspręsti. Norėdami perkelti n diskų bokštą, pirmiausia perkelkite viršutinius n−1 diskų ant laisvo kuolo, tada didžiausią diską perkelkite į paskirties vietą ir galiausiai ant jo perkelkite n−1 diskų. Tai tipinis rekursijos pavyzdys. Dar viena taisyklė: mažiausias diskas juda kiekvienu nelyginiu ėjimu ir visada ta pačia kryptimi (su nelyginiu diskų skaičiumi iš 1 į 3, iš 3 į 2 ir iš 2 į 1; su lyginiu iš 1 į 2, iš 2 į 3 ir iš 3 į 1); lyginiais ėjimais tarp kitų dviejų kuolų įmanomas tik vienas ėjimas.
Pasakojama, kad vienuoliai perkelinėja 64 auksinių diskų bokštą; tam reikėtų daugiau nei 18 kvintilijonų ėjimų, o po vieną per sekundę tai užtruktų šimtus milijardų metų. Viskas žaidžiama jūsų naršyklėje: niekas nesiunčiama į jokį serverį, o jūsų įrenginyje saugomas tik geriausias rezultatas.
Ką svarbu žinoti
- Rekordas (mažiausias ėjimų skaičius) saugomas kiekvienam diskų skaičiui, tik šioje naršyklėje: išvalius svetainės duomenis jis dingsta.
- Jei naudojate „Išspręsti“, žaidimas į rekordą neįskaitomas. Mygtukas apskaičiuoja geriausią sprendimą iš dabartinės padėties, o ne nuo pradžios.
- Su 8 diskais reikia mažiausiai 255 ėjimų; automatinis sprendimas juos atkuria patogiu tempu, ir bet kada galite jį sustabdyti.
Dažniausiai užduodami klausimai
Koks Hanojaus bokštų tikslas?
Perkelti visus diskus iš 1 kuolo ant kito po vieną, niekada nededant didelio disko ant mažesnio.
Kiek mažiausiai reikia ėjimų?
2 laipsniu, lygiu diskų skaičiui, minus 1: 7 su 3 diskais, 15 su 4, 31 su 5, 63 su 6, 127 su 7 ir 255 su 8. Viršuje esantis skaitiklis rodo jūsų žaidimo mažiausią skaičių.
Kaip perkelti diskus telefone?
Bakstelėkite pradinį kuolą, tada paskirties kuolą arba pirštu nuvilkite viršutinį diską ant kito kuolo. Kompiuteryje taip pat galite naudoti klavišus 1, 2 ir 3.
Kam skirtas mygtukas „Išspręsti“?
Jis žingsnis po žingsnio atkuria trumpiausią sprendimą iš dabartinės padėties. Tai naudinga dėsningumui išmokti; paskui galite pradėti naują žaidimą ir pabandyti patys.
Ar yra gudrybė, kad nesusipainiotumėte?
Taip: mažiausias diskas juda nelyginiais ėjimais ir visada ta pačia kryptimi; lyginiais ėjimais tarp kitų dviejų kuolų galimas tik vienas teisėtas ėjimas.
Ar tai nemokama? Ar reikia ką nors įdiegti?
Nemokama, nereikia nei registracijos, nei diegimo, veikia telefonuose ir kompiuteriuose. Jokie duomenys nekeliami į serverį.