以下の内容はhttps://kiririmode.hatenablog.jp/entry/20080827/p2より取得しました。


問題 3-58 (3.5.2 Infinite Streams)

関数 expand の解釈が問われています!!

(define (expand num den radix)
  (cons-stream
   (quotient (* num radix) den)
   (expand (remainder (* num radix) den) den radix)))

最初からぶっちゃけると,これ割り算してるんですよね.筆算を思い浮かべるといいとおもう.radix はそのまま基数ってことで.
だから,

(define S (expand 1 7 10))
(dump-stream S 10) ; 1, 4, 2, 8, 5, 7, 1, 4, 2, 8, done

上の出力は 1/7 をしたときの商 (循環小数になる) ですし,下の出力は 3/8 をしたときの小数部ですね (これは割り切れてる).

(define S (expand 3 8 10))
(dump-stream S 10) ; 3, 7, 5, 0, 0, 0, 0, 0, 0, 0, done



以上の内容はhttps://kiririmode.hatenablog.jp/entry/20080827/p2より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14