Mostra notizie nelle discussioni
Avatar
Scritto da
Non Autenticato
il 2009-01-10 17:29:00.0 alle 2009-01-10 17:29:00.0
lispari
nonostante tutto il vino di ieri ho risolto un altro esercizio tutt'altro che triviale (alla faccia del detrattore giambico)

(defun iterative-improve (good-enough-p improve)
  (lambda (guess)
    (labels ((iter (guess)
           (if (funcall good-enough-p guess)
           guess
           (iter (funcall improve guess)))))
      (iter guess))))

(defun my-fixed-point (f first-guess)
  (funcall
   (iterative-improve
    (lambda (guess) (< (abs (- guess (funcall f guess))) 0.001))
    (lambda (guess) (funcall f guess)))
   first-guess))

(defun my-sqrt-3 (x)
  (my-fixed-point
   (lambda (y) (/ (+ y (/ x y)) 2)) 1.0))

Pagina generata in 45 millisecondi

Utenti attivi: 14 nell'ultimo minuto, 29 negli ultimi cinque minuti, 43 negli ultimi 15 minuti