پازل “برج های هانوی” از سه میله به شماره 1، 2، 3 تشکیل شده است. هرمی از n دیسک با قطرهای مختلف به ترتیب صعودی قطر روی میله 1 قرار می گیرد. دیسک ها را می توان هر بار از یک میله به میله دیگر منتقل کرد، در حالی که دیسک را نمی توان روی دیسکی با قطر کمتر قرار داد. انتقال کل هرم از میله 1 به میله 3 در حداقل تعداد انتقال ضروری است.
برنامه ای بنویسید که یک پازل را حل کند. برای تعداد معینی از دیسکها n دنبالهای از جایگشتها را در قالب a b c چاپ میکند، که در آن — شماره دیسک جابجا شده، b — شماره میله ای که این دیسک از آن جدا شده است، c — شماره میله ای که این دیسک روی آن قرار می گیرد.
به عنوان مثال، خط 1 2 3 به معنای جابجایی دیسک شماره 1 از پایه 2 به پایه 3 است. یک دستور در یک خط چاپ می شود. دیسک ها به ترتیب افزایش قطر از 1 تا n شماره گذاری می شوند.
ورودی
یک عدد طبیعی n ( 0 < n < 11) وارد کنید.
خروجی
برنامه باید حداقل (از نظر تعداد عملیات انجام شده) روش تنظیم مجدد هرم را از تعداد دیسک های داده شده نمایش دهد.
نمونهها
<سر>
# |
ورودی |
خروجی |
<بدن>
1 |
2 |
1 1 2
2 1 3
1 2 3
|
Запрещенные операторы: for
; while
; until