Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> A brief detour....;-)

A brief detour....;-)

From: Bobak, Mark <Mark.Bobak_at_il.proquest.com>
Date: Mon, 08 Dec 2003 13:19:27 -0800
Message-ID: <F001.005D9332.20031208131927@fatcity.com>


So, I saw on SlashDot (http://www.slashdot.org/) a story about a guy who has over 100 different implementations of the Towers of Hanoi solution, each in a different language. Since he didn't have one in PL/SQL, I decided to write one.

Here it is:
create or replace package hanoi
is

from_peg  constant number := 1;
to_peg    constant number := 3;
using_peg constant number := 2;

procedure play(n number);

end hanoi;
/

create or replace package body hanoi
is

procedure do_hanoi(n number, from_peg number, to_peg number, using_peg number) is
begin

    if(n > 0) then

        do_hanoi(n-1,from_peg, using_peg, to_peg);
        dbms_output.put_line('move '||from_peg||' --> '||to_peg);
        do_hanoi(n-1, using_peg, to_peg, from_peg);
    end if;
end;
procedure play(n number)
is
begin

    do_hanoi(n, from_peg, to_peg, using_peg); end;
end;
/

This concludes this public service announcement. We now return you to our regularly scheduled programming.

-Mark

PS Yes, it's a slow day....;-)

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Bobak, Mark
  INET: Mark.Bobak_at_il.proquest.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Mon Dec 08 2003 - 15:19:27 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US