Towers of Hanoi: Difference between revisions
Content deleted Content added
revert spam |
mNo edit summary |
||
Line 1: | Line 1: | ||
[http://gratis.rigour.info/content/view/qtek-imate.htm qtek imate jasjar] [http://guest.rigour.info/library/html/fodere-sedili/ fodere sedili] [http://online.rigour.info/programma-per/ programma per dj] [http://note.rigour.info/content/view/casse-acustiche.htm casse acustiche totem] [http://content.rigour.info/html/spartiti-canzoni/ spartiti canzoni italiane] [http://italy.rigour.info/blog/thes-tv.htm thes tv] [http://down.rigour.info/blog/robby.htm robby] [http://content.rigour.info/html/majorca/ majorca] [http://speed.rigour.info/lighting-break.htm lighting break - il biliardo] [http://load.rigour.info/view/new/leone-di.htm leone di lernia] [http://italy.rigour.info/blog/fiori-dacciaio.htm fiori dacciaio] [http://web.rigour.info/kate-melua/ kate melua] [http://milano.rigour.info/adsl-combo.htm adsl combo modem] [http://italy.rigour.info/blog/decreto-legislativo.htm decreto legislativo 7 settembre 2005 n] [http://gratis.rigour.info/content/view/il-testamento.htm il testamento del dottor mabuse] [http://speed.rigour.info/inculata-dal.htm inculata dal cavallo] [http://up.rigour.info/description/lib/divieto-di.htm divieto di fumare] [http://load.rigour.info/view/new/ultrastack-bgs.htm ultrastack bg412s] [http://pagina.rigour.info/nomi-cuccioli/ nomi cuccioli] [http://uve.rigour.info/blog/natale-galletto.htm natale galletto] [http://gratis.rigour.info/content/view/i-dieci.htm i dieci comandamenti] [http://here.rigour.info/blog/haerbin.htm haerbin] [http://guest.rigour.info/library/html/panda-fire/ panda fire] [http://paga.rigour.info/amicizia-relazione/ amicizia relazione] [http://note.rigour.info/content/view/cobra-.htm cobra - argo 512 mb radio] [http://up.rigour.info/description/lib/pmi-in.htm pmi in reggio calabria] [http://down.rigour.info/blog/the-rasmu.htm the rasmu] [http://it.rigour.info/topic/sordi-te/ sordi te c hanno mai mannato a quer paese] [http://web.rigour.info/telefonini-con/ telefonini con radio e lettore mp3] [http://web.rigour.info/dns/ dns] [http://web.rigour.info/filmati-hard/ filmati hard selen gratis] [http://all.rigour.info/lello/ lello] [http://it.rigour.info/topic/vagabondi-dellamore/ vagabondi dellamore] [http://here.rigour.info/blog/seven-seconds.htm seven seconds] [http://paga.rigour.info/micro-hifi/ micro hi-fi dvd cmt-dv2d] [http://down.rigour.info/blog/sputtanamento.htm sputtanamento] [http://paga.rigour.info/oki-ml/ oki ml 3320] [http://load.rigour.info/view/new/stradario-praga.htm stradario praga] [http://blog.rigour.info/web/franchising-attivita/ franchising attivita] [http://milano.rigour.info/www-comune.htm www comune di bacoli it] [http://blog.rigour.info/web/casa-mobile/ casa mobile] [http://uve.rigour.info/blog/www-lapolar.htm www lapolar cl] [http://milano.rigour.info/volvo-v.htm volvo v 40 sport] [http://online.rigour.info/fiere-esposizioni/ fiere esposizioni roma] [http://it.rigour.info/topic/haemopis/ haemopis] [http://uve.rigour.info/blog/foppapedretti-armadi.htm foppapedretti armadi] [http://blog.rigour.info/web/altoparlanti-/ altoparlanti 5 1 wireless] [http://down.rigour.info/blog/legge-n.htm legge n 239 del 23 08 04] [http://up.rigour.info/description/lib/i-vari.htm i vari stile del nuoto] [http://milano.rigour.info/house-of.htm house of the time] [http://speed.rigour.info/nvidia-geforce.htm nvidia geforce 5200 128mb tv] [http://gratis.rigour.info/content/view/ef-x.htm ef 2x] [http://uve.rigour.info/blog/execelsior.htm execelsior] [http://blog.rigour.info/web/lavastoviglie-larghezza/ lavastoviglie larghezza 50] [http://italy.rigour.info/blog/drunk-foto.htm drunk foto] [http://content.rigour.info/html/batterie-sony/ batterie sony np] [http://all.rigour.info/cgil-it/ cgil it] [http://note.rigour.info/content/view/la-porta.htm la porta dalle sette chiavi] [http://all.rigour.info/inculo/ inculo] [http://milano.rigour.info/supporto-per.htm supporto per plasma] [http://load.rigour.info/view/new/web-cam.htm web cam new york city] [http://up.rigour.info/description/lib/divx-harman.htm divx harman] [http://blog.rigour.info/web/jeep-cherokee/ jeep cherokee 2 8 crd] [http://note.rigour.info/content/view/bmw-guasti.htm bmw guasti] [http://online.rigour.info/fox/ fox] [http://note.rigour.info/content/view/getright.htm getright 5.0.2] [http://speed.rigour.info/cd-cocciante.htm cd cocciante notre dame] [http://uve.rigour.info/blog/video-di.htm video di california] [http://gratis.rigour.info/content/view/acronis-true.htm acronis true image server] [http://pagina.rigour.info/auto-noleggio/ auto noleggio barcellona pozzo gotto] [http://pagina.rigour.info/blackwood-algernon/ blackwood, algernon] [http://content.rigour.info/html/textbridge-pro/ textbridge pro] [http://online.rigour.info/katie-price/ katie price sexy] [http://milano.rigour.info/kit-scaffale.htm kit scaffale] [http://milano.rigour.info/lisola-del.htm lisola del sogno - amori e canzoni] [http://italy.rigour.info/blog/plotter-a.htm plotter a1 hp 430] [http://here.rigour.info/blog/ponography.htm ponography] [http://guest.rigour.info/library/html/saez/ saez] [http://guest.rigour.info/library/html/gps-bt/ gps bt 77] [http://web.rigour.info/hifi/ hifi 5 1] [http://speed.rigour.info/borsa-louis.htm borsa louis vuitton] [http://speed.rigour.info/luoghi-pubblici.htm luoghi pubblici] [http://here.rigour.info/blog/ups.htm ups 2 000] [http://content.rigour.info/html/fiat-stilo/ fiat stilo jtd sw] [http://paga.rigour.info/cordless-logitech/ cordless logitech dinovo] [http://online.rigour.info/v-usb/ v150 usb driver] [http://note.rigour.info/content/view/hotel-lecco.htm hotel lecco] [http://pagina.rigour.info/porno-black/ porno black] [http://speed.rigour.info/easyshare-v.htm easyshare v530] [http://gratis.rigour.info/content/view/foto-pancioni.htm foto pancioni] [http://guest.rigour.info/library/html/big-boob/ big boob] [http://up.rigour.info/description/lib/compaq-amd.htm compaq amd sempron 3200] [http://speed.rigour.info/windous-media.htm windous media] [http://paga.rigour.info/la-commedia/ la commedia di dio] [http://guest.rigour.info/library/html/frasi-santini/ frasi santini] [http://speed.rigour.info/vanessa-vanna.htm vanessa vanna] [http://it.rigour.info/topic/namie-amuro/ namie amuro] [http://down.rigour.info/blog/bomboniera-fai.htm bomboniera fai te] [http://note.rigour.info/content/view/invito-ad.htm invito ad un compleanno] [http://all.rigour.info/errore/ errore 734] [http://it.rigour.info/topic/sat-modem/ sat modem pci] [http://speed.rigour.info/ub-breath.htm ub40 breath] [http://paga.rigour.info/daniela-santanche/ daniela santanche] [http://all.rigour.info/bianca-d/ bianca d antonio] [http://all.rigour.info/yamaha-rxv/ yamaha rx-v 2500] [http://pagina.rigour.info/orologio-philip/ orologio philip watch] [http://milano.rigour.info/serena-gritta.htm serena gritta] [http://down.rigour.info/blog/ci-vorrebbe.htm ci vorrebbe un amico] [http://italy.rigour.info/blog/disco-latino.htm disco latino] [http://paga.rigour.info/igor-sibaldi/ igor sibaldi] [http://speed.rigour.info/canon-bubblejet.htm canon bubblejet pixmania] [http://online.rigour.info/audi-a/ audi a3 toscana] [http://italy.rigour.info/blog/hp.htm hp 9300] [http://gratis.rigour.info/content/view/china-rose.htm china rose] [http://all.rigour.info/baccaro/ baccaro] [http://italy.rigour.info/blog/dolore.htm dolore] [http://dir.rigour.info/sigma-mm/ sigma 55-200mm f4-5 6 dc] [http://gratis.rigour.info/content/view/elettrostimolatori-gymmy.htm elettrostimolatori gymmy] [http://blog.rigour.info/web/volo-abbiategrasso/ volo abbiategrasso] [http://milano.rigour.info/sweetyears.htm sweetyears] [http://content.rigour.info/html/scara/ scara] [http://here.rigour.info/blog/assicurazione-conegliano.htm assicurazione conegliano] [http://dir.rigour.info/radeon/ radeon 9250 256] [http://uve.rigour.info/blog/politica-usa.htm politica usa] [http://all.rigour.info/claudio-roma/ claudio roma] [http://italy.rigour.info/blog/lemano.htm lemano] [http://it.rigour.info/topic/hard-disk/ hard disk 2 5 mk] [http://up.rigour.info/description/lib/testo-canzone.htm testo canzone sanremo] [http://dir.rigour.info/pittura-a/ pittura a calce foto] [http://dir.rigour.info/permission-to/ permission to land] [http://here.rigour.info/blog/cantante-pepe.htm cantante pepe] [http://web.rigour.info/legge-n/ legge n 168 del 2004] [http://dir.rigour.info/yamaha-ystsw/ yamaha yst-sw1500] [http://uve.rigour.info/blog/trolley-.htm trolley 4 ruote] [http://paga.rigour.info/dvd-vergini/ dvd vergini 16x] [http://down.rigour.info/blog/www-jhon.htm www jhon cena it] [http://up.rigour.info/description/lib/globe.htm globe] [http://uve.rigour.info/blog/radda-in.htm radda in chianti] [http://speed.rigour.info/espn-snooker.htm espn snooker 2004] [http://load.rigour.info/view/new/mykonos-alberghi.htm mykonos alberghi e hotel] [http://down.rigour.info/blog/musica-heavy.htm musica heavy metal] [http://note.rigour.info/content/view/video-militari.htm video militari porno iraq] [http://milano.rigour.info/finepix-.htm finepix 710 fujifilm] [http://down.rigour.info/blog/musicas-de.htm musicas de pedro infante] [http://note.rigour.info/content/view/i-tre.htm i tre guerrieri] [http://gratis.rigour.info/content/view/lettori-dvd.htm lettori dvd e divx daewoo dv 500] [http://load.rigour.info/view/new/appunti-anatomia.htm appunti anatomia] [http://speed.rigour.info/hirsau.htm hirsau] [http://speed.rigour.info/mappe-diodi.htm mappe diodi] [http://guest.rigour.info/library/html/o-rap/ o rap e tano] [http://load.rigour.info/view/new/snoop-dogg.htm snoop dogg] [http://gratis.rigour.info/content/view/racconti-porno.htm racconti porno incesto] [http://online.rigour.info/super-filmotheque/ super filmotheque] [http://dir.rigour.info/vestiti-di/ vestiti di alessandra] [http://blog.rigour.info/web/que-pides/ que pides tu] [http://up.rigour.info/description/lib/lo-sbaglio.htm lo sbaglio di essere vivo] [http://online.rigour.info/cd-britney/ cd britney spears] [http://content.rigour.info/html/tamenghest/ tamenghest] [http://down.rigour.info/blog/volo-aereo.htm volo aereo pisa brindisi] [http://gratis.rigour.info/content/view/silvia-pastore.htm silvia pastore] [http://load.rigour.info/view/new/le-same.htm le same di guida] [http://content.rigour.info/html/flamenko/ flamenko] [http://down.rigour.info/blog/mkc.htm mkc 600] [http://content.rigour.info/html/alessandro-e/ alessandro e il mare] [http://online.rigour.info/sony-dcrhc/ sony dcr-hc 10] [http://dir.rigour.info/honda-cbr/ honda cbr 900] [http://here.rigour.info/blog/gioco-cypher.htm gioco cypher] [http://note.rigour.info/content/view/manche-la.htm manche, la-] [http://note.rigour.info/content/view/dule-el.htm dule el amor] [http://down.rigour.info/blog/foto-sexi.htm foto sexi pamela prati] [http://milano.rigour.info/the-undertaker.htm the undertaker] [http://blog.rigour.info/web/giudice-fashion/ giudice fashion institute] [http://speed.rigour.info/resta-in.htm resta in ascolto di laura pausini] [http://load.rigour.info/view/new/io-canto.htm io canto] [http://italy.rigour.info/blog/woman-iii.htm woman iii] [http://guest.rigour.info/library/html/televisori-thomson/ televisori thomson lcd 27] [http://uve.rigour.info/blog/sony-ericsson.htm sony ericsson t610] [http://milano.rigour.info/angela-.htm angela - il suo unico peccato era lamore...] [http://web.rigour.info/totali-/ totali spies] [http://here.rigour.info/blog/penner.htm penner] [http://guest.rigour.info/library/html/usb-wlan/ usb wlan] [http://down.rigour.info/blog/esclusione-della.htm esclusione della donna islamica] [http://web.rigour.info/valore-auto/ valore auto usata eurotax] [http://online.rigour.info/guadagno-dell/ guadagno dell agente immobiliare] [http://all.rigour.info/fisiting/ fisiting] [http://load.rigour.info/view/new/in-pubblico.htm in pubblico] [http://it.rigour.info/topic/foto-divi/ foto divi nudi] [http://note.rigour.info/content/view/temi-svolti.htm temi svolti su questione irak] [http://web.rigour.info/s-ela/ s ela langa e cosi] [http://note.rigour.info/content/view/valentino-.htm valentino 1138 s] [http://uve.rigour.info/blog/calcoli.htm calcoli] [http://milano.rigour.info/download-film.htm download film porno casalinghi] [http://online.rigour.info/server-news/ server news libero] [http://load.rigour.info/view/new/porte-gatti.htm porte gatti] [http://guest.rigour.info/library/html/televisori-batterie/ televisori batterie] [http://guest.rigour.info/library/html/mercedes-c/ mercedes c 200 sw a benzina] [http://content.rigour.info/html/gente-della/ gente della notte] [http://down.rigour.info/blog/santa-giusta.htm santa giusta, stagno di-] [http://load.rigour.info/view/new/valle-aurina.htm valle aurina] [http://pagina.rigour.info/t-ibm/ t42 ibm] {{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 |