RosettaCodeData/Task/Ackermann-function/J/ackermann-function-2.j

5 lines
192 B
Plaintext

c1=: >:@] NB. if 0=x, 1+y
c2=: <:@[ ack 1: NB. if 0=y, (x-1) ack 1
c3=: <:@[ ack [ ack <:@] NB. else, (x-1) ack x ack y-1
ack=: c1`c2`c3@.(,&* i. 0:)M.