|
|
1.1 root 1: program hanoi(input,output);
2: const print = 0;
3: DISK = 14;
4: var num: array[1..3] of integer;
5: ow: integer;
6: cnt: integer;
7: disk: integer;
8: procedure mov(n,f,t : integer);
9: var o: integer;
10: begin
11: if n = 1 then begin
12: num[f] := num[f] - 1;
13: num[t] := num[t] - 1;
14: if print = 1 then writeln('Move ',f, ' to ', t);
15: cnt := cnt + 1;
16: end
17: else begin
18: o := 6 - (f+t);
19: mov(n-1,f,o);
20: mov(1,f,t);
21: mov(n-1,o,t);
22: end
23: end;
24:
25: begin
26: disk := DISK;
27: writeln('Number: ');
28: read(disk);
29: num[1] := disk;
30: cnt := 0;
31: if print = 1 then writeln('start ',disk);
32: ow := wallclock;
33: mov(disk,1,3);
34: writeln('For ',disk:3,' ',cnt:10,' steps, time',wallclock-ow);
35: end.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.