2008-05-01 (木)
*Scheme
なんとかLispとかいうソフトで少し勉強したきりだったので,少し実際に書いてみる.
(define (sqrt x) (define (tf a pa) (if (< (abs (- a pa)) 1E-10) a (tf (/ (+ a (/ x a)) 2) a))) (tf (/ (+ x 1) 2) 0)) (sqrt 10.0)
こんなんとか.
(define (pi) (define (tf a z s) (if (> z 10000000) a (tf (+ a (* s (/ 1 z))) (+ 2 z) (- s)))) (* 4 (tf 0.0 1 1))) (pi)
これはさすがに遅い….