Towers of Hanoi: Difference between revisions
→{{header|Imp77}}: added tested output
(→{{header|Imp77}}: added tested output) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 3,408:
return
end</syntaxhighlight>
=={{header|Imp77}}==
<syntaxhighlight lang="Imp77">
%begin
%routine do hanoi(%integer n, f, t, u)
do hanoi(n - 1, f, u, t) %if n >= 2
print string("Move disk from ".itos(f,0)." to ".itos(t,0).to string(nl))
do hanoi(n - 1, u, t, f) %if n >= 2
%end
do hanoi(4, 1, 2, 3)
print string("Towers of Hanoi puzzle completed!".to string(nl))
%end %of %program
</syntaxhighlight>
{{out}}
<pre>
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 3 to 1
Move disk from 2 to 1
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Towers of Hanoi puzzle completed!
</pre>
=={{header|Inform 7}}==
Line 3,579 ⟶ 3,611:
const go = hanoi(n - 1);
return
...
[a, b],
};
Line 3,591 ⟶ 3,623:
// ---------------------- TEST -----------------------
return hanoi(3)("left", "right", "mid")
})();</syntaxhighlight>
{{Out}}
|