RosettaCodeData/Task/Ackermann_function/Racket/ackermann_function.rkt
Ingy döt Net 80737d5a6a new tasks
2013-04-09 00:46:50 -07:00

7 lines
219 B
Racket

#lang racket
(define (ackermann m n)
(cond [(zero? m) (add1 n)]
[(and (> m 0) (zero? n))
(ackermann (sub1 m) 1)]
[(and (> m 0) (> n 0))
(ackermann (sub1 m) (ackermann m (sub1 n)))]))