الگوریتم برج هانوی و پیاده سازی آن در C
برج هانوی معمایی است که از 3 میله و N حلقه یا دیسک با اندازه های متفاوت . مطابق شکل زیر می خواهیم تمام N حلقه را از میله اول به یک میله دیگر انتقال دهیم. از میله سوم می توان به عنوان کمکی استفاده کرد
حل این معما دو شرط دارد:
1- در هر انتقال تنها یک حلقه را می توان انتقال داد.
2- در هیچ کدام از میله ها هیچ وقت نمی توان یک حلقه بزرگتر را بر روی یک حلقه کوچکتر قرار داد.
راه حل :
این مسئله با استفاده از الگوریتم بازگشتی حل می شود.
اگر فقط یک دیسک باشد آنگاه آن را به میله مورد نظر انتقال می دهیم.
اگر n>1 باشد برای این کار n-1 دیسک بالای میله 1 را به میله 2 انتقال می دهیم . حالا دیسک پایینی میله 1 را ثابت باقی می ماند. حال دیسک باقی مانده در دیسک 1 را به میله 1 انتقال می دهیم . سرانجام بار دیگر به صورت بازگشتی الگوریتم را فراخوانده تاn-1 دیسک میله 2 را به 3 منتقل کند .
اکنون موفق شدیم n دیسک را از میله 1 به 3 منتقل کنیم .
کد:
#include<stdio.h>
#include<conio.h>
void tower(int,char,char,char);
int main()
{
int ndisk;
clrscr();
cout<<"\nEnter number of disks: ";
cin>>ndisk;
tower(ndisk,'A','B','C');
getch();
return 0;
}
/**********************************/
// scr = Source , aux = Auxility , dest = Destination
void tower (int topN,char scr,char aux,char dest)
{
if(topN==1)
{
cout<<"\nDisk 1 from"<<src<<" to"<<dest;
}
else {
tower(topN-1,scr,dest,aux); // scr to aux
cout<<"\nDisk"<<topN<<"from"<<scr<<"to"<<dest;
tower(topN-1,aux,scr,dest); // aux to dest
}
}
http://www.microrayaneh.com
آخرین محصولات
|
|
|
||||||
|
|
|
||||||
|
|
|
مقالات
برنامه نویسی و پایگاه های داده نرم افزارهای تحت وب نرم افزارهای کامپیوتر موتورهای جستجو و بهینه سازی سایت شبکه ، سرور و میزبانی وب سخت افزار و قطعات کامپیوتر گرافیک ، انیمیشن و تدوین وسایل صوتی و تصویری امنیت ، هک ، کرک اینترنت آموزش ها لینک ها تستاخبار
اخبار دنیای رایانه در ایران اخبار دنیای رایانه در جهان اخبار اینترنت در جهان اخبار اینترنت در ایران اخبار امنیت و هک وب سایت های ایرانیآخرین محصولات
|
|
ویدئو پروژکتور اپسون Epson EB-445Wi
قیمت: 1 ﷼ |
|
|
تدی Teddy
قیمت: 1 ﷼ |
|
|
پاندا Panda
قیمت: 1 ﷼ |
|
|
موش Mouse
قیمت: 1 ﷼ |
|
|
ببر سیاه Black Panther
قیمت: 1 ﷼ |
| محصولات جدید | |
ورود كاربر
آمار
بازدید كننده: 982063رأی گیری
تبادل لینک فقط با پیج رنک 4 و 5: پنل اس ام اس | ایران تجارت | موبایل | بهترین سایت تفریحی دنیا | دانلود | ایران سیتی | دانلود | آگهی رایگان شیراز تجارت | پرتال آی تی مگ | دانلود کامل | آرشیو فیلم های آموزش کامپیوتر | دانلود رایگان | مقالات دانشجویی | فروشگاه اینترنتی | سایت تفریحی دیف دیفی | دانلود پروژه و نرم افزار | سایت فرهنگی سیناکو | پرشین رکس | عکس | سایت درج آگهی و تبلیغات |
منتظر برای تایید: عکس |



0 نظر
هیچ نظری وجود ندارد. اولین نفر برای نظر دهی به این مقاله باشید!