SketchyLISP Stuff | Copyright (C) 2007 Nils M Holm |
[ More Sketchy LISP Stuff ] |
Language: R5RS Scheme
Purpose: Implement the hyperN operator. Compute a hyperN b. A, b, and n must all be natural numbers.
Arguments:
N - integer (order)
A - integer (base)
B - integer (hyper-exponent)
Implementation:
(define (hyper n a b) (cond ((= n 0) (+ b 1)) ((= n 1) (+ a b)) ((= b 1) a) ((= n 2) (* a b)) ((= n 3) (expt a b)) ((= n 4) (expt a (hyper n a (- b 1)))) ((> n 4) (hyper (- n 1) a (hyper n a (- b 1)))))) ; (define (hyper4 a b) (hyper 4 a b)) ; (define (hyper5 a b) (hyper 5 a b)) ; ...
Example:
(hyper 4 3 3) => 7625597484987
[ More Sketchy LISP Stuff ] |