#lang scheme
(define (compose f g)
(lambda(x)(f(g x))))
(define (repeated term n )
(if(> n 1)
(compose (repeated term (- n 1)) term)
term ))
(define (average-damp f)
(lambda(x) (average x (f x))))
(define (average a b)
(/ (+ a b) 2))
(define (fixed-point f first-guess)
(define (close-enough? v1 v2)
(< (abs (- v1 v2)) 0.000001))
(define (try guess)
(let ((next (f guess)))
(if (close-enough? guess next )
next
(try next))))
(try first-guess))
(define (power x n)
(if (> n 1)
(* x (power x (- n 1)))
x))
(define (root x n)
(define (logt n a)
(if (or(< (power 2 a) n) (= (power 2 a)n))
(logt n (+ a 1))
(- a 1)))
(fixed-point ((repeated average-damp (logt n 1))(lambda(y)(/ x (power y (- n 1))))) 1.0))
SICP 1.45 n次方根
猜你喜欢
转载自blog.csdn.net/bysoulwarden/article/details/70207790
今日推荐
周排行