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

<pre> (define fib (lambda (n) (if (or (= n 1) (= n 2)) 1 (+ (fib (- n 1)) (fib (- n 2)))))) </pre>

<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

&lt;nowiki&gt; (define (fib n) (car (fib-list n &#039;(1 1))))

(define (fib-list n L) (if (equal? n (- (length L) 1)) L (fib-list n (cons (+ (car L) (car (cdr L))) L)))) &lt;/nowiki&gt;

(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

&lt;nowiki&gt; (define (fib-helper n1 n2 prev1 prev2) (if (&lt; n1 2) 1 (if (&lt; 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>
<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 ((&lt; 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 (&lt; 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 (&lt; 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 &#039;(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 (&lt; 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