BuK/IIm18/Studenten/s3romuel
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SchemeJS</language>
<language>SchemeJS</language>
== Playground s3romuel ==
Hashtable-Test
<code id="5cc5cc392ba40">(define real (make-hashtable))
(define real (make-hashtable equal-hash equal?))
(define f-mem
(lambda (n)
(let ([result (hashtable-ref real n #f)])
(cond [(= n 1) 1]
[(number? result) result]
[else
(let([get-result
(if (= (modulo n 2) 0)
(+ 1 (f-mem (/ n 2)))
(/ 1 (f-mem (- n 1)))
)])
(hashtable-set! real n get-result)
get-result)
]))))</code>
<run id="5cc5cc392baab">
(f-mem 5)
</run>
<check>
(and (= (f-mem 1) 1) (= (f-mem 2) 2) (= (f-mem 4) 3))
</check>