【发布时间】:2020-03-04 03:46:43
【问题描述】:
(define m (expt 2 32))
(define a 22695477)
(define c 1.0)
(define (integers-starting-from n)
(stream-cons n (integers-starting-from (+ n 1))))
(define (prng seed)
(define xn (remainder (+ c (* a seed)) m))
(define prn (/ (remainder (+ c (* a seed)) m) m))
(stream-cons prn
(prng xn)))
当我运行这段代码时,我当前的输出是
(stream->list (prng 3) 5)
> (0.015852607786655426 0.4954120593611151 0.998752823099494 0.7253396362066269 0.03071586787700653)
但输出必须是
(stream->list (prng 3) 5)
> (0.01585 0.4954 0.9988 0.7253 0.0307)
如何输出到万位值?
【问题讨论】:
-
请粘贴您从 sicp 复制的所有内容,因为我的感觉是您没有在代码中完全复制某些内容
-
注意第一个数字应该是
0.0159。