Scheme

高速Fibonacci数の計算

これを使ってFibonacci数の計算を高速に行うことができる. (define (fib n) (fib-iter 1 0 0 1 n)) (define (fib-iter a b p q count) (cond ((= count 0) b) ((even? count);偶数だったら2回分の変換を1回で (fib-iter a b (+ (* p p) (* q q));p' (+ (* …

Newton法で平方根を求める

(define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (imporve guess x) x))) (define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) 2)) (define (good-enough? guess x) (< (abs (- (square gu…