mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-09 22:17:33 +02:00
WIP
This commit is contained in:
parent
1dc3e8324d
commit
7d1855d6d4
1 changed files with 23 additions and 9 deletions
32
memo.scm
32
memo.scm
|
@ -25,17 +25,31 @@
|
||||||
(write (mfnc 1 1)) (newline)
|
(write (mfnc 1 1)) (newline)
|
||||||
(write (mfnc 1 1)) (newline)
|
(write (mfnc 1 1)) (newline)
|
||||||
|
|
||||||
|
; Original versions:
|
||||||
(define (ack m n)
|
(define (ack m n)
|
||||||
(cond ((= m 0) (+ n 1))
|
(cond ((= m 0) (+ n 1))
|
||||||
((= n 0) (ack (- m 1) 1))
|
((= n 0) (ack (- m 1) 1))
|
||||||
(else (ack (- m 1) (ack m (- n 1))))))
|
(else (ack (- m 1) (ack m (- n 1))))))
|
||||||
(write
|
(define (fib n)
|
||||||
(ack 3 12))
|
(if (< n 2)
|
||||||
|
n
|
||||||
|
(+ (fib (- n 1))
|
||||||
|
(fib (- n 2)))))
|
||||||
|
|
||||||
(define mack (memoize _mack))
|
; Fast versions:
|
||||||
(define (_mack m n)
|
;(define ack (memoize _ack))
|
||||||
(cond ((= m 0) (+ n 1))
|
;(define (_ack m n)
|
||||||
((= n 0) (mack (- m 1) 1))
|
; (cond ((= m 0) (+ n 1))
|
||||||
(else (mack (- m 1) (mack m (- n 1))))))
|
; ((= n 0) (ack (- m 1) 1))
|
||||||
(write
|
; (else (ack (- m 1) (ack m (- n 1))))))
|
||||||
(_mack 3 12))
|
;
|
||||||
|
;(define fib (memoize _fib))
|
||||||
|
;(define (_fib n)
|
||||||
|
; (if (< n 2)
|
||||||
|
; n
|
||||||
|
; (+ (fib (- n 1))
|
||||||
|
; (fib (- n 2)))))
|
||||||
|
|
||||||
|
(write (ack 3 12))
|
||||||
|
(newline)
|
||||||
|
(write (fib 40))
|
||||||
|
|
Loading…
Add table
Reference in a new issue