[ create a new paste ] login | about

Link: http://codepad.org/BKsY6oeS    [ raw code | output | fork ]

programmingpraxis - Scheme, pasted on Sep 19:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; mccarthy's 91 function

(define (m n)
  (if (< 100 n) (- n 10)
    (m (m (+ n 11)))))

(display (m 87)) (newline)

(define (mccarthy n)
  (define (m n d)
    (do ((i 0 (+ i 1))) ((= i d) (display n))
      (display "M("))
    (do ((i 0 (+ i 1))) ((= i d) (newline))
      (display ")"))
    (if (positive? d)
        (if (< 100 n)
            (m (- n 10) (- d 1))
            (m (+ n 11) (+ d 1)))))
  (m n 1))

(mccarthy 87)


Output:
91
M(87)
M(M(98))
M(M(M(109)))
M(M(99))
M(M(M(110)))
M(M(100))
M(M(M(111)))
M(M(101))
M(91)
M(M(102))
M(92)
M(M(103))
M(93)
M(M(104))
M(94)
M(M(105))
M(95)
M(M(106))
M(96)
M(M(107))
M(97)
M(M(108))
M(98)
M(M(109))
M(99)
M(M(110))
M(100)
M(M(111))
M(101)
91


Create a new paste based on this one


Comments: