#!/usr/bin/newlisp -s1000000
;;
;; Ackermann's Function
;;
;; By Brent Fulgham
(define (ack m n)
    (cond ((= m 0) (+ n 1))
          ((= n 0) (ack (- m 1) 1))
	  (true    (ack (- m 1) (ack m (- n 1))))))

(define (main)
    (set 'N (integer (last (main-args))))
    (println
        (format "Ack(3,%d): %d" N (ack 3 N))))

(main)
(exit)




syntax highlighting with newLISP and syntax.cgi