fork download
  1. (define (f n)
  2. (define v (make-vector (+ 2 n)))
  3. (vector-set! v 0 4)
  4. (vector-set! v 1 (/ 17 4))
  5. (let loop ((i 2))
  6. (if (<= i n)
  7. (let ((v1 (vector-ref v (- i 1))) (v2 (vector-ref v (- i 2))))
  8. (vector-set! v i (+ (- 108 (/ 815 v1)) (/ 1500 (* v1 v2))))
  9. (loop (+ 1 i)))))
  10. (vector-ref v n))
  11. (define (p e)
  12. (print (list e (exact->inexact e))))
  13. (p (f 0))
  14. (p (f 1))
  15. (p (f 2))
  16. (p (f 3))
  17. (p (f 80))
  18.  
  19. #|
  20. (4 4.0)
  21. (17/4 4.25)
  22. (76/17 4.47058823529412)
  23. (353/76 4.64473684210526)
  24. (206795153138256918939565417139009598365577843034794672964/41359030627651383817474849310671104336332210648235594113 5.0)
  25. |#
Success #stdin #stdout 0.01s 7848KB
stdin
Standard input is empty
stdout
(4 4.0)
(4.25 4.25)
(4.47058823529413 4.47058823529413)
(4.64473684210556 4.64473684210556)
(100.0 100.0)