Advertisement
Guest User

Untitled

a guest
Mar 26th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 0.87 KB | None | 0 0
  1. (define (fizzbuzz til)
  2.   (let loop ([n 1]
  3.              [fizz 2]
  4.              [buzz 4])
  5.     (when (<= n til)
  6.       (cond [(and (zero? fizz) (zero? buzz))
  7.              (displayln 'fizzbuzz)
  8.              (loop (+ n 1) 2 4)]
  9.             [(zero? fizz)
  10.              (displayln 'fizz)
  11.              (loop (+ n 1) 2 (- buzz 1))]
  12.             [(zero? buzz)
  13.              (displayln 'buzz)
  14.              (loop (+ n 1) (- fizz 1) 4)]
  15.             [else (displayln n)
  16.                   (loop (+ n 1) (- fizz 1) (- buzz 1))]))))
  17.  
  18. ;; C2W1
  19. (define max-size 100)
  20.  
  21. (define memo (make-vector (+ max-size 1) #f))
  22. (vector-set! memo 0 0)
  23. (vector-set! memo 1 1)
  24.  
  25. (define (fibs n)
  26.   (if (<= n max-size)
  27.       (or (vector-ref memo n)
  28.           (let ([res (+ (fibs (- n 1)) (fibs (- n 2)))])
  29.             (vector-set! memo n res)
  30.             res))
  31.       (+ (fibs (- n 1)) (fibs (- n 2)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement