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>