עבר עריכה לאחרונה בתאריך 30.04.03 בשעה 14:06
בס"דמגדלי האנוי:
האגדה אאומרת שאי-שם בודהיסטים(או בראמינים או משהוא) צריך לבצע משימה מסויימת ואז יגיע סוף העולם וכולם יזכור ל"נירוואנה":-)
המשימה היא לעהביר 64 טבעות(אחת גדולה מהשניה) מעמוד אחד לעמוד אחר, תוך שימוש בעמוד שלישי כאשר אפשר להעיבר רק טבעת אחת בכל פעם ואפשר לשים רק טבעת קטנה על גדולה, ולא גדולה על קטנה.
היישום הנפוץ ביותר הינו רקורסיבי.
כדי להעביר N טבעות מ-1 ל-2 בעזרת 3(מספרי העמודים) יש להעביר N-1 מ-1 ל-3 להעביר את הטבעת ה-N מ-1 ל-2 ואז להעביר N-1 טבעות מ-3 ל-2.
כדי להעביר N-1 טבעות מפעילים את האלגוריתם על N-! טבעות(שעכשיו הם N) ועמוד היעד הוא 3(ולא 2) ועמוד ה"עזרה" הוא 2(ולא 3).
לדוגמא:
(1)
1
2
3
(2)
2
3__1
(3)
3__1__2
(4)
__1
3_2
(5)
1__3__2
(6)
_2
1__3
(7)
_1
_2
_3
כל מעבירים 3 טבעות.
פה הפתרון אינטואיטיבי אבל עם 5 טבעות זה מסתבך ועם 20 זה כבר בלתי-אפשרי מעשית בלי מחשב.
בברכה...
נ.ב.
אם נעביר כל טבעת בשניה אחת, כדי להעביר 64 טבעותיש צורך בזמן העולה על משך קיום היקום...
(ואפילו אם נעביר מהר יותר)