روش بازی برج هانوی
- تعداد دیسکها را انتخاب کنید (3 تا 8). همه روی میله 1 روی هم قرار دارند، بزرگترین پایین و کوچکترین بالا.
- روی یک میله بزنید تا دیسک بالاییاش انتخاب شود و بعد روی میلهای که میخواهید دیسک را به آن ببرید بزنید. میتوانید دیسک را تا میله دیگر بکشید هم.
- هر بار فقط یک دیسک را جابهجا کنید و هرگز دیسکی را روی دیسک کوچکتر از خودش نگذارید.
- وقتی کل برج روی میله دیگری قرار گرفت، برندهاید. شمارنده حرکتهای شما و حداقل ممکن را نشان میدهد؛ اگر گیر کردید، دکمه حل کوتاهترین جواب را پخش میکند.
یک کلاسیک منطق و بازگشت
برج هانوی یک معمای ریاضی است که ادوار لوکاس فرانسوی در سال 1883 ابداع کرد. با n دیسک، کمترین تعداد حرکت 2 به توان n منهای 1 است: 7 برای سه دیسک، 15 برای چهار، 31 برای پنج و 255 برای هشت. هر دیسکی که اضافه کنید کار را دو برابر و یکی بیشتر میکند.
راهی نظاممند برای حل هست. برای منتقل کردن برجی از n دیسک، ابتدا n−1 دیسک بالا را به میله باقیمانده میبرید، بعد بزرگترین دیسک را به مقصد میبرید و در پایان n−1 دیسک را روی آن میگذارید. این نمونهای معمول از بازگشت (recursion) است. قاعده عملی دیگر: کوچکترین دیسک در هر حرکت فرد جابهجا میشود، همیشه در یک جهت (با تعداد فرد دیسک از میله 1 به 3، از 3 به 2 و از 2 به 1؛ با تعداد زوج، از 1 به 2، از 2 به 3 و از 3 به 1)؛ در حرکتهای زوج بین دو میله دیگر فقط یک حرکت ممکن هست.
افسانه میگوید راهبانی برجی از 64 دیسک طلا را جابهجا میکنند؛ بیش از 18 تریلیون حرکت لازم است، یعنی صدها میلیارد سال با سرعت یک حرکت در ثانیه. همهچیز در مرورگر شما بازی میشود: چیزی به سرور فرستاده نمیشود و فقط بهترین نتیجه شما روی دستگاهتان ذخیره میشود.
خوب است بدانید
- رکورد (کمترین حرکت) برای هر تعداد دیسک جداگانه و فقط در همین مرورگر ذخیره میشود: اگر دادههای سایت را پاک کنید، از بین میرود.
- اگر از «حل» استفاده کنید، بازی به رکورد اضافه نمیشود. دکمه بهترین جواب را از وضعیتی که در آن هستید حساب میکند، نه از ابتدا.
- با 8 دیسک دستکم 255 حرکت لازم است؛ حل خودکار آنها را با سرعت مناسب پخش میکند و هر لحظه میتوانید آن را متوقف کنید.
سؤالات متداول
هدف برج هانوی چیست؟
بردن همه دیسکها از میله 1 به میله دیگر، هر بار یک دیسک و بدون گذاشتن دیسک بزرگ روی دیسک کوچک.
حداقل چند حرکت لازم است؟
2 به توان تعداد دیسکها منهای 1: 7 برای 3 دیسک، 15 برای 4، 31 برای 5، 63 برای 6، 127 برای 7 و 255 برای 8. شمارنده بالا حداقل بازی را نشان میدهد.
در موبایل دیسکها چطور جابهجا میشوند؟
روی میله مبدأ و بعد میله مقصد بزنید، یا دیسک بالایی را با انگشت تا میله دیگر بکشید. در رایانه میتوانید از کلیدهای 1، 2 و 3 هم استفاده کنید.
دکمه حل به چه کار میآید؟
کوتاهترین جواب را از وضعیت فعلی گامبهگام پخش میکند. برای یادگیری الگو مفید است؛ بعد میتوانید بازی تازهای شروع کنید و خودتان امتحان کنید.
ترفندی هست که گم نشوم؟
بله: کوچکترین دیسک در حرکتهای فرد و همیشه در یک جهت جابهجا میشود؛ در حرکتهای زوج بین دو میله دیگر فقط یک حرکت مجاز وجود دارد.
رایگان است؟ چیزی باید نصب کنم؟
رایگان است، ثبتنام و نصب نمیخواهد و در موبایل و رایانه کار میکند. هیچ دادهای به سرور بارگذاری نمیشود.