問題1.12 – SICP(計算機プログラムの構造と解釈)その6

問題1.12

パスカルの三角形(Pascal’s triangle)の上から n 行目、左から k 番目の値を求める式。

            1
          1   1
        1   2   1
      1   3   3   1
    1   4   6   4   1
  1   5  10   10  5   1
1   6  15   20  15  6   1
(define (pascals-triangle n k)
  (if (or (= n k) (= k 1))
      1
      (+ (pascals-triangle (- n 1) (- k 1))
         (pascals-triangle (- n 1) k))))

(pascals-triangle 7 1) ;=> 1
(pascals-triangle 7 2) ;=> 6
(pascals-triangle 7 3) ;=> 15
(pascals-triangle 7 4) ;=> 20
(pascals-triangle 7 5) ;=> 15
(pascals-triangle 7 6) ;=> 6
(pascals-triangle 7 7) ;=> 1

問題1.13

数学の証明問題のようなのでパス。

計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»