برج هانوی (Tower of Hanoi) از سه میله و تعدادی دیسک در اندازههای متفاوت تشکیل شده است که میتوان آنها را بر میلهها قرار داد. هدف انتقال تمام دیسکها از میلهٔ مبدأ به میلهٔ مقصد با رعایت این ۲ شرط است: در هر زمان فقط یک دیسک را میتوان جابجا نمود و نباید در هیچ زمانی دیسکی بر روی دیسک با اندازهٔ کوچکتر قرار بگیرد. هدف ما ارائه الگوریتمی است که کمترین توالی حرکتها را برای انتقال دیسکها به ما بدهد. اگر n دیسک داشته باشیم، حداقل حرکت برای انتقال دیسکها برابر 2n – 1 میباشد. در فایل ضمیمهٔ زیر میتوانید طریقهٔ حل معادلهٔ برج هانوی را به روش بازگشتی در زبان C بیابید.
MD5 checksum:
09c5cd2b9ca69626327ae81e2a19345a *tower_of_hanoi.zip