-- -*- mode: eiffel -*- -- $Id: ackermann.se,v 1.1 2000/10/12 07:11:42 doug Exp $ -- http://www.bagley.org/~doug/shootout/ class ACKERMANN creation make feature make is local num: INTEGER; do if argument_count = 1 then num := argument(1).to_integer else num := 1 end std_output.put_string("Ack(3,") std_output.put_integer(num) std_output.put_string("): ") std_output.put_integer(ack(3, num)) std_output.put_new_line end; feature {NONE} ack(m, n:INTEGER):INTEGER is do if m = 0 then Result := n + 1 elseif n = 0 then Result := ack(m - 1, 1) else Result := ack(m - 1, ack(m, (n - 1))) end end; end