سه
میله داریم. یکی از میلهها میله مبدا (A)، دیگری میله کمکی ( B)
و دیگری میله مقصد(C)
است. هدف انتقال تمام دیسکها از میله مبدا به میله مقصد با رعایت شرایط زیر است:
در
هر زمان فقط یک دیسک را میتوان جابجا نمود. نباید در هیچ زمانی دیسکی بر روی دیسک
با اندازه کوچکتر قرار بگیرد.
هدف
ما ارائه الگوریتمی است که کمترین توالی حرکتها را برای انتقال دیسکها به ما
بدهد. مثلا اگر n=2
باشد، توالی حرکت به صورت زیر است:
دیسک
۱ را به میله B منتقل میکنیم.
دیسک
۲ را به میله C منتقل میکنیم.
دیسک
۱ را به میله C منتقل میکنیم.
در اینجا لینک این
معما را می توانید ببینید و خودتان را آزمایش کنید. حداقل حرکات هم مشخص شده است.
حل
برنامه نویسی به صورت بازگشتی آن را می توانید در اینجا
ببنید.
برج هانوی در ویکی پدیای فارسی
ح. نون ها بروند ادامه مطلب:
+ نوشته شده در یکشنبه بیست و ششم خرداد ۱۳۹۲ ساعت 14:1 توسط م-ق
|