new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
41
Task/Ackermann-function/Eiffel/ackermann-function.e
Normal file
41
Task/Ackermann-function/Eiffel/ackermann-function.e
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
note
|
||||
description: "Example of Ackerman function"
|
||||
URI: "http://rosettacode.org/wiki/Ackermann_function"
|
||||
|
||||
class
|
||||
ACKERMAN_EXAMPLE
|
||||
|
||||
create
|
||||
make
|
||||
|
||||
feature {NONE} -- Initialization
|
||||
|
||||
make
|
||||
do
|
||||
print ("%N A(0,0):" + ackerman (0, 0).out)
|
||||
print ("%N A(1,0):" + ackerman (1, 0).out)
|
||||
print ("%N A(0,1):" + ackerman (0, 1).out)
|
||||
print ("%N A(1,1):" + ackerman (1, 1).out)
|
||||
print ("%N A(2,0):" + ackerman (2, 0).out)
|
||||
print ("%N A(2,1):" + ackerman (2, 1).out)
|
||||
print ("%N A(2,2):" + ackerman (2, 2).out)
|
||||
print ("%N A(0,2):" + ackerman (0, 2).out)
|
||||
print ("%N A(1,2):" + ackerman (1, 2).out)
|
||||
print ("%N A(3,3):" + ackerman (3, 3).out)
|
||||
print ("%N A(3,4):" + ackerman (3, 4).out)
|
||||
end
|
||||
|
||||
feature -- Access
|
||||
|
||||
ackerman (m: NATURAL; n: NATURAL): NATURAL
|
||||
do
|
||||
if m = 0 then
|
||||
Result := n + 1
|
||||
elseif m > 0 and n = 0 then
|
||||
Result := ackerman (m - 1, 1)
|
||||
elseif m > 0 and n > 0 then
|
||||
Result := ackerman (m - 1, ackerman (m, n - 1))
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue