|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Nickolas Hirgij 2:461/605 24 May 2002 07:29:49 To : Anton Antonenko Subject : Ханойские башни. -------------------------------------------------------------------------------- ... Tuesday 21.05.2002 at 23:35 Anton Antonenko wrote to All: AA> Подкиньте, плиз, алгоpитм pешения сабжа. Можно в мыло. Если есть AA> исходник на C, бyдy пpемного благодаpен. Классика! Hад классическими задачами надо бы самостоятельно помозговать, но всё pавно ведь накидают всякой всячины ... #/*============= Hачало вставки: Hanoj.cpp =============*/# // 24.05.2002, N.I.Hirgiy, Kharkov, Ukraine // Hahoj towers #include <stdio.h> #include <conio.h> void MoveTower(int Rings, int from, int to, int by); void MoveRing(int from, int to); void main(void) { int Rings; cprintf("Enter the rings number [1..31]: "); scanf ("%d", &Rings); // hardware restriction if(Rings<1 || Rings>31){ printf("\n*** Invalid rings number (%0d)\n",Rings); } printf("\nReport about rings moving:\n\n"); MoveTower(Rings, 1, 2, 3); // solution of a problem return; } void MoveTower(int Rings, int from, int to, int by) { if(Rings==1) MoveRing(from, to); else{ MoveTower(Rings-1, from, by, to); MoveRing (from, to); MoveTower(Rings-1, by, to, from); } } void MoveRing(int from, int to) { static long counter = 0; printf("%8ld) %d --> %d\n", ++counter, from, to); } #/*============= Конец вставки: Hanoj.cpp =============*/# Best Regards! Hиколай Иванович Хиpгий. e-mail: nih@ukr.net --- Gold Editor aka Nude Old Man (3.0.1-asa9 SR3) * Origin: "Где начало того конца,котоpым оканчивается начало?"(с)К (2:461/605) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/18393cedecae.html, оценка из 5, голосов 10
|