12 lines
330 B
Plaintext
12 lines
330 B
Plaintext
ackermann (n) (m) :
|
|
? n = 0
|
|
:> m+1
|
|
? m = 0
|
|
:> ackermann (n-1) 1
|
|
:> ackermann (n-1) ackermann n (m-1) \ = ackermann (n-1) (ackermann n (m-1))
|
|
\ test it
|
|
main(params):+
|
|
p1 =: string params[1] as integer else 3
|
|
p2 =: string params[2] as integer else 5
|
|
print "ackermann(" _ p1 _ "," _ p2 _ ") = " _ ackermann p1 p2
|