This article was migrated from http://rai
素人くさいSICP読書会に参加してきました。
今回も、前回に引き続いてサイボウズ・ラボ様にて開催されました。素晴らしい環境を利用させてくださいましてありがとうございます。
参加者数は、だいたい20名前後でした。前回同様、演習問題を黙々と解いていくという形式で進められました。今回の範囲は、演習問題 1.37〜1.39でした。連分数に関するところです。連分数を使って、πや自然対数の底の導出や、正接関数の構成などを行いました。
ということで、今回使ったコードを置いておきます。
; 5/24 sicp#14
;
(define (cont-frac n d k)
(define (frac i)
(if (= i k)
(/ (n i) (d i))
(/ (n i)
(+ (d i) (frac (inc i))))))
(frac 1))
(define (dec n) (- n 1))
(define (cont-frac- i n d k)
(define (frac i result)
(if (= i 0)
result
(frac (dec i)
(/ (n i) (+ (d i) result)))))
(frac k 0))
(define (e-38 k)
(/ 1 (cont-frac- i
(lambda (i) 1.0)
(lambda (i)
*1 1) 2 1)
(+ (floor (/ i 3)) 1)))
k)))
(define (tan-cf x k)
(define (n i) (if (= i 1) x (- *2)))
(define (d i) (dec *3))
(cont-frac- i n d k))
This article was migrated from http://rai
posted by
genki
on Thu 25 May 2006
at 10:09


