PDA

View Full Version : سوال: مسئله برج هانوی با 4 میله یا بیشتر



13601360
سه شنبه 15 اردیبهشت 1388, 23:02 عصر
با سلام به همه دوستان عزیز
همه که با این مسئله آشنا هستند.من فقط از دوستان خواهش می کنم در مورد روش انتقال n دیسک به میله آخر در حالتی که 4 تا یا بیشتر میله داریم برایم توضیح بدهند.شبه کد نمی خوام.فقط روش کار رو مرحله به مرحله می خواستم.
ممنون از لطف همه :قلب:

pesar irooni
چهارشنبه 16 اردیبهشت 1388, 01:35 صبح
خوب با استفاده از میله های کمکی بیشتر مساله سریعتر حل میشه. راه حلی که به ذهن من رسید اینه :فرض میکنیم n تا حلقه از میله 1 به میله 4 میخواهیم ببریم.ابتدا n-2 حلقه رو به میله 2 با استفاده از همین روش که توضیح میدم میبریم (مثل مساله اصلی که اونجا n-1 حلقه جابجا میشد)، سپس حلقه n-1 ام رو به میله 3 و حلقه n ام رو به میله 4 میبریم. سپس حلقه n-1 رو به میله شماره 4 منتقل و در آخر n-2 میله رو به همین روش از میله شماره 2 به عنوان مبدا به میله شماره 4 به عنوان مقصد با استفاده از میله های کمکی 1 و 3 میبریم.

mortezamsp
چهارشنبه 16 اردیبهشت 1388, 10:39 صبح
باسلام.

من فكرنميكنم لازم باشه باچهارتا ميله اين كار رو انجام بدي.چون حداقل با سه تا ميشه اين كار رو انجام داد.يعني با چهار ميله انگار داري همون كارهاي سه ميله رو تكرار ميكني.مثلا براي انتقال n ميله از ستون اول به ستون چهارم بايد اول n-2 مهره رو ببري به ستون دوم ، يك مهره به ستون سوم و يك مهره به ستون چهارم ، بعد از ستون سوم ببري به ستون چهارم و بعد از ستون دوم ببري رو ستون چهارم يا در حركت اول n/2 رو انتقال بدي.

13601360
چهارشنبه 16 اردیبهشت 1388, 16:08 عصر
من فكرنميكنم لازم باشه باچهارتا ميله اين كار رو انجام بدي.چون حداقل با سه تا ميشه اين كار رو انجام داد
دوست عزیز منم می دونم ولی گفتن با 4 یا بیشتر میله روش کار چه جوری می شه
تا حال روش های مختلفی رو دوستان معرفی کردند ولی بالاخره باید یک روش از همه بهینه تر باشه
دوستان دیگه نظری ندراند

pesar irooni
شنبه 19 اردیبهشت 1388, 01:34 صبح
سلام
یه راه دیگه که به ذهنم رسید اینه.
اول 2/(n-1) رو از میله 1 به میله 2 میبریم. بعد 2/(n-1) از میله 1 به میله 3 میبریم. بعد حلقه آخر رو به میله 4 میبریم. سپس 2/(n-1) تای روی میله 3 رو به میله 4 میبریم و در آخر 2/(n-1) تای روی میله 2 رو به میله 4 میبریم.
اما چک نکردم ببینم این راه سریعتره یا راه قبلی و یا اینکه هر دو مساویند. باید فرمولای بازگشتی اش رو محاسبه کنی تا جوابارو بدست بیاری.

Tannaz_SE86
سه شنبه 18 خرداد 1389, 15:04 عصر
سلام بچه ها خوب هستین؟ من تازه تو این سایت عضو شدم، به نظرم سایت خیلی خوبیه.
در مورد برج هانوی ، دوستمون درست می گن با 4 تا میله که 2 تاش کمکی به حساب میاد میشه حلقه ها رو راحتتر برد به میله ی مقصد. میشه گفت که یک الگوریتم بنویسیم برای K تا میله ی کمکی ، بعدش تعداد کل میله ها و میله هایی که می خوایم Auxilary باشند رو تعیین می کنیم. راستی بچه ها من دنبال یه موضوع پروژه ی خوب برای برنامه نویسی ام که سطحش متوسط باشه که اگه بشه با C بنویسمش، لطفا اگه هر کسی موضوع پیشنهادی داره بگه به من.

خدا نگهدار همتون - دوستون دارم

masoudcom
جمعه 04 آذر 1390, 11:03 صبح
با سلام.
من مسئله برج هانویی دارم با 3 تا میله که هر میله داری دیسک های برابر هستند.برای این روش جوابی هست؟
با تشکر