سورس الگوریتم برج هانوی C++

سورس الگوریتم برج هانوی C++

سورس الگوریتم برج هانوی C++

دانلود سورس کد برج هانوی سی پلاس پلاس

برج هانوی ++c در این بخش از سایت دانلود سی پلاس می پردازیم به سورس کد برج هانوی سی پلاس پلاس
هدف ما از این سورس کد رسیدن به  ارائه الگوریتمی است که کمترین توالی حرکت‌ها را برای انتقال دیسک‌ها به ما بدهد. مثلاً اگر n=۲ باشد، توالی حرکت به صورت زیر است:
حل مساله برج هانوی با ۴ دیسک
دیسک ۱ را به میله B منتقل می‌کنیم.
دیسک ۲ را به میله C منتقل می‌کنیم.
دیسک ۱ را به میله C منتقل می‌کنیم.
حل مساله برج هانوی با ۳ دیسک
توجه داشته باشید که بر اساس قانون اول نمی‌توان به غیر از بالاترین دیسک هر میله، به دیسک دیگری از آن دسترسی پیدا کرد.
حال سوال این است که آیا این مساله به کمک تکنیک بازگشت قابل حل است؟ اصولاً چه مسائلی را می‌توان بازگشتی حل نمود؟
برای اینکه مساله‌ای بتواند با روش بازگشتی حل شود باید یک ویژگی اساسی داشته باشد. مساله اصلی (مساله‌ای که به ما داده می‌شود) قابل خرد شدن به زیر مساله‌هایی از همان نوع مساله اصلی باشد، به شرطی که اندازه زیر مساله‌های ایجاد شده کمتر باشد. آنگاه می‌توان امیدوار بود که آن را به طور بازگشتی حل کرد! این ویژگی در مورد مساله برج هانوی صدق می‌کند. ایده اصلی این است که توجهمان را به جای حرکت بالاترین دیسک، روی پایین‌ترین دیسک میله متمرکز کرده، و مراحل زیر را طی می‌کنیم:
n – ۱ دیسک بالایی را با شرایط ذکر شده و به کمک میله C به میله B منتقل می‌کنیم. بزرگترین دیسک را از میله مبدا به میله مقصد حرکت می‌دهیم. n – ۱ دیسک را که هم اکنون در میله B هستند با شرایط داده شده به میله مقصد انتقال می‌دهیم. می‌بینیم که توانستیم عملیات جابجا کردن n دیسک را به دو عملیات مشابه ولی با اندازه کمتر و یک عملیات ساده تقسیم کنیم. واضح است که جابجا کردن n – ۱ قرص راحتتر از جابجا نمودن n قرص است.

سورس کد :

درباره نویسنده

جواد محمدی هستم بنیان گذار سایت سی پلاس علاقمند به زبان برنامه نویسی تحت وب ،++c,c و اندروید استودیو ، ویندوز اپلیکیشن خوشحالم که در خدمت شما هستم.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتان را در مورد این مطلب بنویسید.

بدون دیدگاه

ارسال دیدگاه شما





جواب سوال امنیتی؟ *