/**************************/ /* The program part */ /**************************/ program fibonacci; const n = 30; sharedvar f : array[0..n] of word; var p : word; procedure init; begin P := 1; end init; procedure finish; var i : word; begin for i := 1 to n do writeln(f[i]); end; end finish; procedure fib(n : word) : word; begin if (n = 1) or (n = 2) then return 1; elsif f[n] <> 0 then return f[n]; else return fib(n-1) + fib(n-2); end; return 0; end fib; begin // main par p := 1 to n do f[p] := 0; f[p] := fib(p); end; synchronize; @CLOCK @LASTMEMINDEX end fibonacci. /**************************/ /* The result part */ /**************************/ Script started on Thu Dec 15 19:12:28 1994 conx [emulator] pram -t -c -r 8 fib CLOCK: 18967 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 conx [emulator] exit exit script done on Thu Dec 15 19:12:40 1994