Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (fizzbuzz til)
- (let loop ([n 1]
- [fizz 2]
- [buzz 4])
- (when (<= n til)
- (cond [(and (zero? fizz) (zero? buzz))
- (displayln 'fizzbuzz)
- (loop (+ n 1) 2 4)]
- [(zero? fizz)
- (displayln 'fizz)
- (loop (+ n 1) 2 (- buzz 1))]
- [(zero? buzz)
- (displayln 'buzz)
- (loop (+ n 1) (- fizz 1) 4)]
- [else (displayln n)
- (loop (+ n 1) (- fizz 1) (- buzz 1))]))))
- ;; C2W1
- (define max-size 100)
- (define memo (make-vector (+ max-size 1) #f))
- (vector-set! memo 0 0)
- (vector-set! memo 1 1)
- (define (fibs n)
- (if (<= n max-size)
- (or (vector-ref memo n)
- (let ([res (+ (fibs (- n 1)) (fibs (- n 2)))])
- (vector-set! memo n res)
- res))
- (+ (fibs (- n 1)) (fibs (- n 2)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement