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

問題3.53

(define (add-streams s1 s2)
  (stream-map + s1 s2))

(define s (cons-stream 1 (add-streams s s)))

s を第一要素が 1 で、残りは s 同士の和であるストリームと定義してある。
s の第二要素は、s の第一要素同士の和であるから 2 となる。
s の第三要素は、s の第二要素同士の和であるから 4 となる。
s の第四要素は、s の第三要素同士の和であるから 8 となる。
s の第n要素は、 s の第 n-1 要素同士の和である。
したがって、s2^n のストリームとなる。

実行結果

(stream-ref s 0)
gosh> 1
(stream-ref s 1)
gosh> 2
(stream-ref s 2)
gosh> 4
(stream-ref s 3)
gosh> 8
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»