Discussion 10: https://inst.eecs.berkeley.edu/~cs61a/sp21/disc/disc10/#introduction
目录x的阶乘
# python def factorial(x): if x <= 1: return 1 else: return x * factorial(x-1)
# scheme (define (factorial x) (if (<= x 1) 1 (* x (factorial (- x 1)))) )
斐波那契数列
# python def fib(n): if n < 2: return n else: return fib(n-1) + fib(n-2)
# scheme (define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))
# scheme (define (list-concat a b) (if (null? a) b (cons (car a) (list-concat (cdr a) b))) )
# scheme (car (cdr (cdr (cdr s))))
# scheme (define (duplicate lst) (if (null? lst) lst (cons (car lst) (cons (car lst) (duplicate (cdr lst))))) )
# python def inserte(element, lst, index): if index == 0: return [element] + lst else: return [lst[0]] + inserte(element, lst[1:], index - 1)
# scheme (define (insert element lst index) (if (= index 0) (cons element lst) (cons (car lst) (insert element (cdr lst) (- index 1)))) )