Towers of Hanoi: Difference between revisions
Content deleted Content added
revert spam |
mNo edit summary |
||
Line 1: | Line 1: | ||
[http://deviantrus.ifrance.com/topic/ati-xpro/ ati x600pro dvi vivo] [http://demurediablo.ifrance.com/library/html/film-al/ film al lux] [http://girlwho-is.ifrance.com/img/styles/canon-power.htm canon power shot s2] [http://tat-ooin.ifrance.com/resources/articles/lultimo-bambino.htm lultimo bambino] [http://tat-ooin.ifrance.com/resources/articles/palmare-hp.htm palmare hp 1930] [http://lovereceier.ifrance.com/lib/video-proiettore.htm video proiettore philips] [http://toofarfrommaybe.ifrance.com/view/new/nintendo-gamecube/ nintendo gamecube accessori console] [http://demurediablo.ifrance.com/library/html/rexton-km/ rexton km zero] [http://yeeden.ifrance.com/img/styles/cartina-geografica/ cartina geografica germania] [http://jdawsona.ifrance.com/data/samsung-/ samsung 32 crt] [http://yeeden.ifrance.com/img/styles/witch/ w.i.t.c.h.] [http://yeeden.ifrance.com/img/styles/programmi-computer/ programmi computer ward] [http://broadwaylili.ifrance.com/content/view/john-denver.htm john denver] [http://oiyaoi.ifrance.com/images/small/wanderboy/ wanderboy] [http://oiyaoi.ifrance.com/images/small/vxa/ vxa-2 80 160] [http://yeeden.ifrance.com/img/styles/fliperama/ fliperama] [http://voltia.ifrance.com/content/view/canzoni-italiana.htm canzoni italiana karaoke] [http://singaporepets.ifrance.com/library/html/malteam.htm malteam] [http://lordsander.ifrance.com/topic/regolamento-tombole.htm regolamento tombole] [http://lordsander.ifrance.com/topic/cirrus.htm cirrus] [http://voltia.ifrance.com/content/view/tv.htm tv 30] [http://oiyaoi.ifrance.com/images/small/drava/ drava] [http://demurediablo.ifrance.com/library/html/agenzia-immobiliare/ agenzia immobiliare como] [http://deviantrus.ifrance.com/topic/lexar-jumpdrive/ lexar jumpdrive sport] [http://voltia.ifrance.com/content/view/bosica.htm bosica] [http://demurediablo.ifrance.com/library/html/viacsess-key/ viacsess key] [http://yeeden.ifrance.com/img/styles/chrisler-it/ chrisler it] [http://highbulp.ifrance.com/images/small/lavinio-i/ lavinio i numeri] [http://lovereceier.ifrance.com/lib/singolidotati.htm singoli.dotati] [http://voltia.ifrance.com/content/view/gommoni.htm gommoni] [http://voltia.ifrance.com/content/view/direttiva-europea.htm direttiva europea 2002 96] [http://jdawsona.ifrance.com/data/ragazzo-lourdes/ ragazzo lourdes] [http://voltia.ifrance.com/content/view/idioteque.htm idioteque] [http://broadwaylili.ifrance.com/content/view/arjona-amor.htm arjona amor de tele] [http://lovereceier.ifrance.com/lib/chat-senza.htm chat senza registrazione] [http://voltia.ifrance.com/content/view/supermen-di.htm supermen di molinaro] [http://igaros.ifrance.com/lib/barcellona-palma/ barcellona palma] [http://igaros.ifrance.com/lib/hutland/ hutland] [http://kalian42.ifrance.com/text/directory/mistica-ebraica/ mistica ebraica] [http://tizolaa.ifrance.com/web/t-black/ t630 black] [http://noxuhax.ifrance.com/content/view/enermax-blue.htm enermax blue viper cs-718] [http://speedofsoun.ifrance.com/text/directory/alfa-.htm alfa 147 2 serie] [http://yeeden.ifrance.com/img/styles/camera-parigi/ camera parigi] [http://lovereceier.ifrance.com/lib/donna-bellissime.htm donna bellissime] [http://jdawsona.ifrance.com/data/lucia-tovar/ lucia tovar] [http://lovereceier.ifrance.com/lib/daniela-fazzolari.htm daniela fazzolari] [http://lovereceier.ifrance.com/lib/enermax-alimentatore.htm enermax alimentatore] [http://igaros.ifrance.com/lib/maturita-i/ maturita 2i prova scientifico] [http://highbulp.ifrance.com/images/small/basket-lecco/ basket lecco] [http://jdawsona.ifrance.com/data/he-comprendido/ he comprendido que te amo] [http://voltia.ifrance.com/content/view/neonati-denti.htm neonati denti] [http://noxuhax.ifrance.com/content/view/culle-per.htm culle per campeggio] [http://noxuhax.ifrance.com/content/view/sony-pcm.htm sony pcm] [http://voltia.ifrance.com/content/view/giochi-da.htm giochi da cliccare] [http://kalian42.ifrance.com/text/directory/davide/ davide] [http://yeeden.ifrance.com/img/styles/sardegna-residence/ sardegna residence] [http://kalian42.ifrance.com/text/directory/testo-auschwitz/ testo auschwitz] [http://deviantrus.ifrance.com/topic/codici-sblocco/ codici sblocco lgu8120] [http://lovereceier.ifrance.com/lib/corso-per.htm corso per licenza negozio abbigliamento per svilup] [http://singaporepets.ifrance.com/library/html/vino-abruzzesi.htm vino abruzzesi] [http://toofarfrommaybe.ifrance.com/view/new/km-bmw/ km0 bmw x5 d auto km 0] [http://jdawsona.ifrance.com/data/magix-music/ magix music studio 2005 deluxe] [http://kalian42.ifrance.com/text/directory/sven-watt/ sven watt] [http://jdawsona.ifrance.com/data/escuz/ escuz] [http://toofarfrommaybe.ifrance.com/view/new/garmin-forerunner/ garmin forerunner 201] [http://yeeden.ifrance.com/img/styles/batterie-canon/ batterie canon bp-508] [http://lordsander.ifrance.com/topic/kurume.htm kurume] [http://toofarfrommaybe.ifrance.com/view/new/prezzo-orologio/ prezzo orologio panerai] [http://tizolaa.ifrance.com/web/fandango-night/ fandango night] [http://kalian42.ifrance.com/text/directory/nuevas-normas/ nuevas normas de trafico] [http://demurediablo.ifrance.com/library/html/harfleur/ harfleur] [http://demurediablo.ifrance.com/library/html/hilltop-hoods/ hilltop hoods] [http://lordsander.ifrance.com/topic/progress.htm progress] [http://speedofsoun.ifrance.com/text/directory/passat.htm passat 130] [http://speedofsoun.ifrance.com/text/directory/car-navigator.htm car navigator] [http://voltia.ifrance.com/content/view/www-petfinder.htm www petfinder com] [http://deviantrus.ifrance.com/topic/suonerie-philips/ suonerie philips 630] [http://broadwaylili.ifrance.com/content/view/fatman-scoop.htm fatman scoop be faithful] [http://akmokanzen.ifrance.com/images/small/sanja.htm sanja] [http://yeeden.ifrance.com/img/styles/jbl-creature/ jbl creature ii black] [http://tizolaa.ifrance.com/web/cartoline-da/ cartoline da spedire] [http://kalian42.ifrance.com/text/directory/indesit-wixl/ indesit wixl] [http://lovereceier.ifrance.com/lib/moby-line.htm moby line sardegna] [http://deviantrus.ifrance.com/topic/www-caturano/ www caturano it] [http://toofarfrommaybe.ifrance.com/view/new/kerry-dyer/ kerry dyer] [http://girlwho-is.ifrance.com/img/styles/ds-online.htm ds online] [http://tat-ooin.ifrance.com/resources/articles/cartoline-gratis.htm cartoline gratis animate dei diddl] [http://lovereceier.ifrance.com/lib/nuova-bmw.htm nuova bmw 530d diesel auto nuove] [http://lovereceier.ifrance.com/lib/megamix.htm megamix 2004] [http://toofarfrommaybe.ifrance.com/view/new/una-giornata/ una giornata senza pretese] [http://broadwaylili.ifrance.com/content/view/kep-sony.htm kep sony] [http://tizolaa.ifrance.com/web/palm-zire/ palm zire31 gps bundle] [http://highbulp.ifrance.com/images/small/fiera-di/ fiera di capo d orlando] [http://toofarfrommaybe.ifrance.com/view/new/copertina/ copertina 1113] [http://voltia.ifrance.com/content/view/aquos.htm aquos 32] [http://voltia.ifrance.com/content/view/burkhard-g.htm burkhard g] [http://broadwaylili.ifrance.com/content/view/frigo-no.htm frigo no frost] [http://lovereceier.ifrance.com/lib/tg-comm.htm tg comm it] [http://highbulp.ifrance.com/images/small/chat-roma/ chat roma] [http://tizolaa.ifrance.com/web/tose-proeski/ tose proeski i ana] [http://deviantrus.ifrance.com/topic/leccare-culo/ leccare culo] [http://oiyaoi.ifrance.com/images/small/centrino/ centrino1 4] [http://lovereceier.ifrance.com/lib/mirano.htm mirano] [http://akmokanzen.ifrance.com/images/small/lettori-memory.htm lettori memory card firewire] [http://oiyaoi.ifrance.com/images/small/dante-alighieri/ dante alighieri paolo e francesca] [http://oiyaoi.ifrance.com/images/small/dido-video/ dido video download] [http://noxuhax.ifrance.com/content/view/cartella-con.htm cartella con cerniera] [http://tizolaa.ifrance.com/web/calzature-donna/ calzature donna da sera] [http://akmokanzen.ifrance.com/images/small/televisore-panasonic.htm televisore panasonic 29] [http://yeeden.ifrance.com/img/styles/video-hoobstank/ video hoobstank] [http://lordsander.ifrance.com/topic/universita-arezzo.htm universita arezzo] [http://kalian42.ifrance.com/text/directory/new-key/ new key arabesque] [http://highbulp.ifrance.com/images/small/cabo/ cabo] [http://akmokanzen.ifrance.com/images/small/il-muro.htm il muro degli israeliani] [http://highbulp.ifrance.com/images/small/www-mmm/ www mmm100 com] [http://voltia.ifrance.com/content/view/minidv-grdex.htm minidv gr-d270ex] [http://oiyaoi.ifrance.com/images/small/ebey/ ebey] [http://demurediablo.ifrance.com/library/html/nonno-fuking/ nonno fuking] [http://noxuhax.ifrance.com/content/view/i-ragazzi.htm i ragazzi duri non ballano] [http://jdawsona.ifrance.com/data/decapitazione-ostaggi/ decapitazione ostaggi] [http://demurediablo.ifrance.com/library/html/batteria-samsung/ batteria samsung a800] [http://tizolaa.ifrance.com/web/il-burger/ il burger sul parcheggio] [http://demurediablo.ifrance.com/library/html/zemanova-free/ zemanova free sexy video] [http://oiyaoi.ifrance.com/images/small/zoppi-massimo/ zoppi massimo sentenze] [http://yeeden.ifrance.com/img/styles/alcio/ alcio] [http://yeeden.ifrance.com/img/styles/the-carpenter/ the carpenter and his clumsy wife] [http://lovereceier.ifrance.com/lib/vibrate.htm vibrate] [http://singaporepets.ifrance.com/library/html/jvc-pdb.htm jvc pd-42b50] [http://singaporepets.ifrance.com/library/html/cani-ultrasuoni.htm cani ultrasuoni] [http://deviantrus.ifrance.com/topic/lutricia/ lutricia] [http://speedofsoun.ifrance.com/text/directory/bagnoreggio.htm bagnoreggio] [http://demurediablo.ifrance.com/library/html/convertitore-wma/ convertitore wma mp3] [http://demurediablo.ifrance.com/library/html/codici-liberty/ codici liberty city gta] [http://igaros.ifrance.com/lib/ceca-pazi/ ceca pazi skim spavas] [http://speedofsoun.ifrance.com/text/directory/www-welfare.htm www welfare gov] [http://tat-ooin.ifrance.com/resources/articles/allenamento-portieri.htm allenamento portieri] [http://yeeden.ifrance.com/img/styles/pad-originale/ pad originale playstation] [http://tizolaa.ifrance.com/web/esami-di/ esami di stato prove] [http://voltia.ifrance.com/content/view/natasha-st.htm natasha st pier mourir demain] [http://igaros.ifrance.com/lib/monitor-lcd/ monitor lcd 21 pollici] [http://igaros.ifrance.com/lib/cos-e/ cos e la visura catastale] [http://demurediablo.ifrance.com/library/html/sagre-in/ sagre in piemonte] [http://highbulp.ifrance.com/images/small/re-centro/ re (centro della val vigezzo)] [http://akmokanzen.ifrance.com/images/small/due-amici.htm due amici] [http://tizolaa.ifrance.com/web/hotel-san/ hotel san marco venezia] [http://demurediablo.ifrance.com/library/html/lista-nozze/ lista nozze] [http://girlwho-is.ifrance.com/img/styles/www-mineralogy.htm www mineralogy com] [http://oiyaoi.ifrance.com/images/small/ricetrasmettitore-veicolare/ ricetrasmettitore veicolare] [http://yeeden.ifrance.com/img/styles/giochi-vecchio/ giochi vecchio] [http://demurediablo.ifrance.com/library/html/betrayed-/ betrayed - tradita] [http://lovereceier.ifrance.com/lib/fornello-gas.htm fornello gas metano] [http://jdawsona.ifrance.com/data/a-o/ a o l com] [http://demurediablo.ifrance.com/library/html/titoli-canzoni/ titoli canzoni hit mania dance 2004] [http://lovereceier.ifrance.com/lib/cruzeiro.htm cruzeiro] [http://jdawsona.ifrance.com/data/sway-accordi/ sway accordi] [http://kalian42.ifrance.com/text/directory/libro-fantascienza/ libro fantascienza] [http://igaros.ifrance.com/lib/crossover-/ crossover 2 vie] [http://lordsander.ifrance.com/topic/yamaha-r.htm yamaha r1 moto] [http://tat-ooin.ifrance.com/resources/articles/hotel-calkifornia.htm hotel calkifornia] [http://igaros.ifrance.com/lib/mp-muvo/ mp3 muvo n200 512mb] [http://noxuhax.ifrance.com/content/view/tv-color.htm tv color jvc] [http://yeeden.ifrance.com/img/styles/eva-gonzalez/ eva gonzalez] [http://speedofsoun.ifrance.com/text/directory/beans-and.htm beans and beef] [http://yeeden.ifrance.com/img/styles/nikos-kourkoulis/ nikos kourkoulis] [http://demurediablo.ifrance.com/library/html/set-me/ set me free] [http://jdawsona.ifrance.com/data/condizionatori-mq/ condizionatori mq] [http://akmokanzen.ifrance.com/images/small/tufini.htm tufini] [http://oiyaoi.ifrance.com/images/small/la-comunicazione/ la comunicazione il linguaggio comunica] [http://igaros.ifrance.com/lib/hollywood-detective/ hollywood detective] [http://deviantrus.ifrance.com/topic/asus-anxvm/ asus a7n8x-vm] [http://lovereceier.ifrance.com/lib/foto-heather.htm foto heather loker] [http://girlwho-is.ifrance.com/img/styles/voce-e.htm voce e demais] [http://voltia.ifrance.com/content/view/joensuu.htm joensuu] [http://kalian42.ifrance.com/text/directory/free-sms/ free sms ialia] [http://oiyaoi.ifrance.com/images/small/monitor-lcd/ monitor lcd multimediale samsung] [http://jdawsona.ifrance.com/data/www-liga/ www liga com] [http://highbulp.ifrance.com/images/small/armani-marco/ armani marco] [http://igaros.ifrance.com/lib/licenze-xp/ licenze xp pro] [http://yeeden.ifrance.com/img/styles/sor-sudio/ sor sudio n 9] [http://highbulp.ifrance.com/images/small/giornale-il/ giornale il resto del carlino] [http://igaros.ifrance.com/lib/frasi-carine/ frasi carine sms] [http://jdawsona.ifrance.com/data/camera-da/ camera da bimbi] [http://singaporepets.ifrance.com/library/html/gigi-d.htm gigi d alessio basi musicali mp3] [http://jdawsona.ifrance.com/data/software-patente/ software patente b] [http://igaros.ifrance.com/lib/sungsuong-net/ sungsuong net] [http://voltia.ifrance.com/content/view/barbeq.htm barbeq] [http://speedofsoun.ifrance.com/text/directory/na-canzuncella.htm na canzuncella doce doce] [http://noxuhax.ifrance.com/content/view/traforo-tenda.htm traforo tenda] [http://noxuhax.ifrance.com/content/view/www-vascorossi.htm www vascorossi it] [http://demurediablo.ifrance.com/library/html/finanziamento-benevento/ finanziamento benevento] [http://jdawsona.ifrance.com/data/have-you/ have you ever seen the rain] [http://girlwho-is.ifrance.com/img/styles/litfiba-tour.htm litfiba tour] [http://highbulp.ifrance.com/images/small/hd-/ hd 80 gb mac] [http://demurediablo.ifrance.com/library/html/cyfra-hex/ cyfra hex keys] [http://noxuhax.ifrance.com/content/view/piatti-vasi.htm piatti vasi vetro industrie] [http://lovereceier.ifrance.com/lib/culetto.htm culetto] [http://girlwho-is.ifrance.com/img/styles/h-game.htm h game] [http://yeeden.ifrance.com/img/styles/daitarn/ daitarn] [http://akmokanzen.ifrance.com/images/small/rooms.htm rooms] [http://kalian42.ifrance.com/text/directory/samsung-zoom/ samsung zoom 20x] {{task}} |
|||
{{task}} |
|||
In this task, the goal is to solve the Towers of Hanoi problem with recursivity. |
In this task, the goal is to solve the Towers of Hanoi problem with recursivity. |
||
Line 13: | Line 13: | ||
if Ndisks > 0 then |
if Ndisks > 0 then |
||
Hanoi(Ndisks - 1, Start_Peg, Via_Peg, End_Peg); |
Hanoi(Ndisks - 1, Start_Peg, Via_Peg, End_Peg); |
||
Put_Line("Move disk" |
Put_Line("Move disk" |
||
Pegs'Image(End_Peg)); |
|||
Hanoi(Ndisks - 1, Via_Peg, End_Peg, Start_Peg); |
|||
end if; |
|||
end Hanoi; |
|||
begin |
|||
Hanoi(4); |
|||
end Towers; |
|||
==[[AppleScript]]== |
|||
[[Category:AppleScript]] |
|||
global moves --this is so the handler 'hanoi' can see the 'moves' variable |
|||
set moves to "" |
|||
hanoi(4, "peg A", "peg C", "peg B") |
|||
on hanoi(ndisks, fromPeg, toPeg, withPeg) |
|||
if ndisks is greater than 0 then |
|||
hanoi(ndisks - 1, fromPeg, withPeg, toPeg) |
|||
set moves to moves & "Move disk " & ndisks & " from " & fromPeg & " to " & toPeg & return |
|||
hanoi(ndisks - 1, withPeg, toPeg, fromPeg) |
|||
end if |
|||
return moves |
|||
end hanoi |
|||
==[[C plus plus|C++]]== |
|||
[[Category:C plus plus]] |
|||
'''Compiler:''' [[GCC]] |
|||
void move(int n, int from, int to, int via) { |
|||
if (n == 1) { |
|||
std::cout << "Move disk from pole " << from << " to pole " << to << std::endl; |
|||
} else { |
|||
move(n - 1, from, via, to); |
|||
move(1, from, to, via); |
|||
move(n - 1, via, to, from); |
|||
} |
|||
} |
|||
==[[E]]== |
|||
[[Category:E]] |
|||
def move(out, n, fromPeg, toPeg, viaPeg) { |
|||
if (n.aboveZero()) { |
|||
move(out, n.previous(), fromPeg, viaPeg, toPeg) |
|||
out.println(`Move disk $n from $fromPeg to $toPeg.`) |
|||
move(out, n.previous(), viaPeg, toPeg, fromPeg) |
|||
} |
|||
} |
|||
move(stdout, 4, def left {}, def right {}, def middle {}) |
|||
==[[Forth]]== |
|||
[[Category:Forth]] |
|||
With locals: |
|||
CREATE peg1 ," left " |
|||
CREATE peg2 ," middle " |
|||
CREATE peg3 ," right " |
|||
: .$ COUNT TYPE ; |
|||
: MOVE-DISK |
|||
LOCALS| via to from n | |
|||
n 1 = |
|||
IF CR ." Move disk from " from .$ ." to " to .$ |
|||
ELSE n 1- from via to RECURSE |
|||
1 from to via RECURSE |
|||
n 1- via to from RECURSE |
|||
THEN ; |
|||
Without locals, executable pegs: |
|||
: left ." left" ; |
|||
: right ." right" ; |
|||
: middle ." middle" ; |
|||
: print ( t f -- ) |
|||
CR ." Move disk from " execute ." to " execute ; |
|||
: move-disk ( v t f n -- v t f ) |
|||
dup 1 = if drop 2dup print exit then |
|||
1- >R |
|||
rot swap R@ ( t v f n-1 ) recurse |
|||
rot swap 2dup print |
|||
swap rot R> ( f t v n-1 ) recurse |
|||
swap rot ; |
|||
: hanoi ( n -- ) |
|||
1 max >R ['] right ['] middle ['] left R> move-disk drop drop drop ; |
|||
==[[Java]]== |
|||
[[Category:Java]] |
|||
public void move(int n, int from, int to, int via) { |
|||
if (n == 1) { |
|||
System.out.println("Move disk from pole " + from + " to pole " + to); |
|||
} else { |
|||
move(n - 1, from, via, to); |
|||
move(1, from, to, via); |
|||
move(n - 1, via, to, from); |
|||
} |
|||
} |
|||
==[[Perl]]== |
|||
[[Category:Perl]] |
|||
sub move { |
|||
my $n = shift; |
|||
my $from = shift; |
|||
my $to = shift; |
|||
my $via = shift; |
|||
if ($n == 1) { |
|||
print "Move disk from pole $from to pole $to.\n"; |
|||
} else { |
|||
move($n - 1, $from, $via, $to); |
|||
move(1, $from, $to, $via); |
|||
move($n - 1, $via, $to, $from); |
|||
}; |
|||
}; |
|||
==[[Pop11]]== |
|||
[[Category:Pop11]] |
|||
define hanoi(n, src, dst, via); |
|||
if n > 0 then |
|||
hanoi(n - 1, src, via, dst); |
|||
printf('Move disk ' >< n >< ' from ' >< src >< ' to ' >< dst >< '.\n'); |
|||
hanoi(n - 1, via, dst, src); |
|||
endif; |
|||
enddefine; |
|||
hanoi(4, "left", "middle", "right"); |
|||
==[[Python]]== |
|||
[[Category:Python]] |
|||
<pre> |
|||
def hanoi(ndisks, startPeg=1, endPeg=3): |
|||
if ndisks: |
|||
hanoi(ndisks-1, startPeg, 6-startPeg-endPeg) |
|||
print "Move disk %d from peg %d to peg %d" % (ndisks, startPeg, endPeg) |
|||
hanoi(ndisks-1, 6-startPeg-endPeg, endPeg) |
|||
hanoi(ndisks=4) |
|||
</pre> |
|||
==[[Seed7]]== |
|||
[[Category:Seed7]] |
|||
const proc: hanoi (in integer: disk, in string: source, in string: dest, in string: via) is func |
|||
begin |
|||
if disk > 0 then |
|||
hanoi(pred(disk), source, via, dest); |
|||
writeln("Move disk " <& disk <& " from " <& source <& " to " <& dest); |
|||
hanoi(pred(disk), via, dest, source); |
|||
end if; |
|||
end func; |
|||
==[[Toka]]== |
|||
[[Category:Toka]] |
|||
value| sa sb sc n | |
|||
[ to sc to sb to sa to n ] is vars! |
|||
[ ( num from to via -- ) |
|||
vars! |
|||
n 0 <> |
|||
[ |
|||
n sa sb sc |
|||
n 1- sa sc sb recurse |
|||
vars! |
|||
." Move a ring from " sa . ." to " sb . cr |
|||
n 1- sc sb sa recurse |
|||
] ifTrue |
|||
] is hanoi |