問題3.6 – SICP(計算機プログラムの構造と解釈)その108
2009年02月22日
問題3.6
(use srfi-27) ;; for random-integer (define (rand-update x) (remainder (+ x 1812433253) 4294967296)) (define rand (let ((x 1)) (define (reset new-value) (set! x new-value) x) (define (generate) (set! x (rand-update x)) x) (define (dispatch m) (cond ((eq? m 'reset) reset) ((eq? m 'generate) (generate)) (else (error "Unknown arg -- RAND" (list arg))))) dispatch)) ((rand 'reset) 100) gosh> 100 (rand 'generate) gosh> 1812433353 (rand 'generate) gosh> 3624866606 (rand 'generate) gosh> 1142332563 ((rand 'reset) 100) gosh> 100 (rand 'generate) gosh> 1812433353 (rand 'generate) gosh> 3624866606 (rand 'generate) gosh> 1142332563
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542