# со среднего диска

со среднего диска перенести (N-1)-башню на правый. Те же манипуляции, естественно, надо выполнить при переносе башни из N-1 диска, и т.д. Другими словами, мы имеем дело с рекурсивным алгоритмом. Реализуя алгоритм &quot;родными&quot; для него средствами, то есть с помощью рекурсивной процедуры, удается написать программу без особых программистских усилий. Приводим вариант текста (на языке Паскаль), где для каждого очередного переноса выводится сообщение о номере данного диска (все они занумерованы в исходной башне с 1-го до N-го сверху вниз), с какого стержня диск снимается, куда он надевается и сколько всего уже осуществлено переносов. type stack = string; const N=1 {2,3,4,...}; var step : word; procedure Hanoi (k : byte); procedure Move (k : byte; _from, _to, _tmp : stack); begin if k &gt; 0 then begin Move (k-1, _from, _tmp, _to); Inc (step); WriteLn ('disk #', k, ': ', _from, ' =&gt; ', _to, ' (step ', step, ')'); Move (k-1, _tmp, _to, _from) end end; {Move}

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа