2014-10-29 43 views
1

版本信息计算奇怪的输出:版本4.9.0.1(稳定性/ 4.9.0)(REV 8b3189b)MACOSX-UNIX的铛,X86-64用PI鸡方案

的代码实际上是锻炼1.3 .1 SICP:

(define (product term a next b) 
    (define (iter a result) 
     (if (> a b) 
      result 
      (iter (next a) (* (term a) result)) 
     ) 
    ) 
    (iter a 1) 
) 

(define (get-pi n) 
    (define (next x) (+ x 2)) 
    (define (term x) (* x x)) 
    (* 8 n (/ (product term 4 next n) (product term 3 next (+ n 1)))) 
) 

输出:

#;102> (get-pi 165) 
3.13208714360219 
#;103> (get-pi 167) 
3.13220081034665 
#;104> (get-pi 169) 
3.13231179078142 
#;105> (get-pi 170) 
0.0 

为什么结果变成了0.0≦

谢谢!

回答

3

鸡在默认情况下不会实现完整的数字塔。您需要(use numbers)

我没有安装Chicken,但您可能必须使用(exact->inexact (get-pi 170))才能获得与以前相同的结果。