https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm

https://github.com/DeathKing/Learning-SICP

https://mitpress.mit.edu/sites/default/files/sicp/index.html

https://www.bilibili.com/video/BV1Xx41117tr?from=search&seid=14983483066585274454

https://mitpress.mit.edu/sites/default/files/sicp/psets/index.html

## Exercise 2

(define fact
(lambda (n)
(if (= n 0)
1
(* n (fact (- n 1))))))

(fact 243)

1 ]=> (fact 243)
;Value: 57651072073405564859932599378988824389544612769748785289578514753791226660795447787952561780489668440613028916503471522241703645767996810695135226278296742637606115134300787052991319431412379312540230792060250137088708811794424564833107085173464718985508999858791970609491066045711874321516918150905413944789377156315207186998055591451670633898714567745386826936678840548225648089961727875705444538167142818292862812160000000000000000000000000000000000000000000000000000000000

## Exercise 3

(load "ps1-ans.scm")

(define (comb n k)
(/ (fact n) (fact k) (fact (- n k))))

(comb 243 90)

1 ]=> (comb 243 90)
;Value: 193404342391239489855973693417880600543891038618846567058277413638164