2021-11-17

Nov 17 In-Class Exercise Thread.

Please post your solutions to the Nov 17 In-Class Exercise to this thread.
Best,
Chris
Please post your solutions to the Nov 17 In-Class Exercise to this thread. Best, Chris

-- Nov 17 In-Class Exercise Thread
(define fib
  (lambda (n)
    (if (or (= n 1)
            (= n 2))
        1
        (+ (fib (- n 1))
           (fib (- n 2))))))
<pre> (define fib (lambda (n) (if (or (= n 1) (= n 2)) 1 (+ (fib (- n 1)) (fib (- n 2)))))) </pre>

-- Nov 17 In-Class Exercise Thread
(define (fib n) (car (fib-list n '(1 1)))) (define (fib-list n L) (if (equal? n (- (length L) 1)) L (fib-list n (cons (+ (car L) (car (cdr L))) L))))
(Edited: 2021-11-17)
<nowiki> (define (fib n) (car (fib-list n '(1 1)))) (define (fib-list n L) (if (equal? n (- (length L) 1)) L (fib-list n (cons (+ (car L) (car (cdr L))) L)))) </nowiki>

-- Nov 17 In-Class Exercise Thread
(define (fib-helper n1 n2 prev1 prev2) (if (< n1 2) 1 (if (< n1 4) n1 (if (= n1 n2) (+ prev1 prev2) (if (= n2 3) (fib-helper n1 (+ n2 1) 3 2) (fib-helper n1 (+ n2 1) (+ prev1 prev2) prev1)))))) (define (fib n) (fib-helper n 0 0 0)) (fib 5)
<nowiki> (define (fib-helper n1 n2 prev1 prev2) (if (< n1 2) 1 (if (< n1 4) n1 (if (= n1 n2) (+ prev1 prev2) (if (= n2 3) (fib-helper n1 (+ n2 1) 3 2) (fib-helper n1 (+ n2 1) (+ prev1 prev2) prev1)))))) (define (fib n) (fib-helper n 0 0 0)) (fib 5)</nowiki>

-- Nov 17 In-Class Exercise Thread
(define fibonacci
  (lambda (n)
    (cond ((< n 2) 0)
          ((= n 2) 1)
          (else (+ (fibonacci (- n 2))
                   (fibonacci (- n 1)))))))
(define fibonacci (lambda (n) (cond ((< n 2) 0) ((= n 2) 1) (else (+ (fibonacci (- n 2)) (fibonacci (- n 1)))))))

User Icon
-- Nov 17 In-Class Exercise Thread
 (define (fib-list n) 
   (if (< n 2)
   		(list 1 1)
       	(let ((so-far (fib-list (- n 1))))
         	(cons (+ (car so-far) (car (cdr so-far))) so-far))))
 
 (define (fib n) (car (fib-list n)))
(define (fib-list n) (if (< n 2) (list 1 1) (let ((so-far (fib-list (- n 1)))) (cons (+ (car so-far) (car (cdr so-far))) so-far)))) (define (fib n) (car (fib-list n)))

-- Nov 17 In-Class Exercise Thread
 (define (fib-list n)
       (if (< n 2)
           (list 1 1)
           (let ((so-far (fib-list (- n 1))))
             (cons (+ (car so-far) (car (cdr so-far))) so-far))))
 (define (fib n) (car fib-list n))
(define (fib-list n) (if (< n 2) (list 1 1) (let ((so-far (fib-list (- n 1)))) (cons (+ (car so-far) (car (cdr so-far))) so-far)))) (define (fib n) (car fib-list n))

-- Nov 17 In-Class Exercise Thread
(define (fib n)
  (fib-list n '(1 1)))
(define (fib-list n L)
  (if (equal? (- n 1) (length L)) (+ (car L) (car (cdr L)))
      (fib-list n (cons (+ (car L) (car (cdr L))) L)))) 
(define (fib n) (fib-list n '(1 1))) (define (fib-list n L) (if (equal? (- n 1) (length L)) (+ (car L) (car (cdr L))) (fib-list n (cons (+ (car L) (car (cdr L))) L))))

-- Nov 17 In-Class Exercise Thread
(define (fib n)
  (if (< n 2)
      (list  1 1)
      (+ (fib (- n 1)) (fib (- n 2)))))
(fib 10)
(define (fib n) (if (< n 2) (list 1 1) (+ (fib (- n 1)) (fib (- n 2))))) (fib 10)

-- Nov 17 In-Class Exercise Thread
(define (fib-helper n i fib-prev1 fib-prev2)
(if (= i n)
    fib-prev1
    (fib-helper n (+ i 1) fib-prev1 (fib-prev1 + fib-prev2))))
                
(define (fib n) (fib-helper n 0 1 1))
(Edited: 2021-11-17)
(define (fib-helper n i fib-prev1 fib-prev2) (if (= i n) fib-prev1 (fib-helper n (+ i 1) fib-prev1 (fib-prev1 + fib-prev2)))) (define (fib n) (fib-helper n 0 1 1))
[ Next ]
X