RosettaCodeData/Task/Ackermann-function/TAV/ackermann-function.tav

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