問題3.72 – SICP(計算機プログラムの構造と解釈)その162
2009年04月25日
問題3.72
weighted-pairs
等の必要な手続きは問題3.70のものを使う。
(define (add-square-pairs-weight pair) (let ((i (car pair)) (j (cadr pair))) (+ (square i) (square j)))) (define st (weighted-pairs integers integers add-square-pairs-weight)) (define (sum-of-squares-stream-way s) (let ((s1car (stream-car s)) (s2car (stream-car (stream-cdr s))) (s3car (stream-car (stream-cdr (stream-cdr s))))) (let ((s1-weight (add-square-pairs-weight s1car)) (s2-weight (add-square-pairs-weight s2car)) (s3-weight (add-square-pairs-weight s3car))) (if (= s1-weight s2-weight s3-weight) (cons-stream s1-weight (sum-of-squares-stream-way (stream-cdr s))) (sum-of-squares-stream-way (stream-cdr s)))))) (define sum-of-squares-stream (sum-of-squares-stream-way st)) (stream-head sum-of-squares-stream 10) gosh> 325 425 650 725 845 850 925 1025 1105 1105 done
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542