برج هانوی رو همه میشناسن:انتقال n حلقه از یک میله به میله دوم به کمک یک میله سوم.برنامه خروجی حرکات رو در چند سطر چاپ میکنه.
بدست آوردن روش حل خیلی سادست.فرض کنید ما دو مهره داریم.میخواهیم a را از ستون اول ببریم به ستون سوم.b روی a قرار گرفته ، پس باید اول b رو خارج کنیم یعنی b رو ببریم به ستون دوم تا بشه a رو برد به ستون سوم.بعد از این ما b رو به ستون سوم میبریم.
برای بیشتر از دو مهره هم به همین ترتیب عمل میکنیم.یعنی اگر بخوایم n مهره رو از ستون 1 ببریم به ستون 3 باید اول مهره اول رو از جاش حرکت بدیم منتها قبلش باید n-1 مهره روی مهره اول رو ببریم به یه ستون دیگه یعنی:
void honoi(n,a,c,) 0
}
if(n==1) move(a,c); 0
else
honoi(n-1,a,b); 0
{
درضمن با عرض پوزش برنامه غیر گرافیکی هست.ان شاءالله گرافیکیشم میذارم براتون.
وزیر وزیر وزیر وزیر وزیر وزیر وزیر وزیر
هشت وزیر یک معما هست در شطرنج که میگه چطور هشت تا وزیر رو بچینیم تو صفحه که هیچکدوم اون یکیو نزنه.
دربرنامه ما یک آرایه هشت در هشت بعنوان صفحه شطرنج درنظر میگیریم و خونه های مجاز رو یک و خونه های غیرمجاز رو باصفرمقداردهی میکنیم.این برنامه به ازای هر شصت و چهار خونه تابع place رو صدا میزنه.و هربار از اون خونه شروع میکنه و خونه هایی که در دید خونه ابتدایی هستن رو صفر میکنه(یعنی خانه های افقیو عمودی و مورب در تلاقی با اون خونه) و کار را با خونه های یک باقی مونده ادامه میده.یعنی بطور بازگشتی تابع place خودشو فراخونی میکنه.برای هر خانه شروع یک نقشه هم رسم میشه که در اون وزیر ها چیده نشدن.
این یه برنامه خیلی سادشه که حالات مختلفی رو بررسی میکنه و در یک مورد به جواب میرسه.یعنی فقط در یک نقشه هست که هشت وزیر تونستن در اون چیده بشن.
گرافیک برنامه پایین هست ان شاءالله درست میشه.