Towers of Hanoi: Difference between revisions

Content added Content deleted
(Add Jsish)
m (→‎{{header|Retro}}: update for retro12)
Line 4,122: Line 4,122:


=={{header|Retro}}==
=={{header|Retro}}==
<lang Retro>4 elements a b c n
<lang Retro>~~~
{ 'Num 'From 'To 'Via } [ var ] a:for-each

: vars !c !b !a !n ;
:set !Via !To !From !Num ;
: hanoi ( num from to via -- )
:display @To @From 'Move_a_ring_from_%n_to_%n\n s:format s:put ;
vars
@n 0 <>
:hanoi (num,from,to,via-)
[
@n @a @b @c
set @Num n:-zero?
@n 1- @a @c @b hanoi
[ @Num @From @To @Via
@Num n:dec @From @Via @To hanoi set display
vars
@b @a "\nMove a ring from %d to %d" puts
@Num n:dec @Via @To @From hanoi ] if ;
@n 1- @c @b @a hanoi
#3 #1 #3 #2 hanoi nl
] ifTrue ;
~~~</lang>

4 1 3 2 hanoi</lang>


=={{header|REXX}}==
=={{header|REXX}}==