gpt4 book ai didi

algorithm - 为什么哔哔声不是我的连分数近似值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:45:24 24 4
gpt4 key购买 nike

阅读更多 SICP,我被困在 exercise 1.3.8 上.我的代码适用于近似 1/phi,但不适用于近似 e - 2。

(define (cont-frac n d k)
(define (frac n d k)
(if (= k 0)
1.0
(+ (d k) (/ (n (+ k 1)) (frac n d (- k 1))))))
(/ (n 1) (frac n d k)))

(define (eulers-e-2)
(cont-frac (lambda (i) 1.0)
(lambda (i)
(if (= (remainder (+ i 1) 3) 0)
(* 2.0 (/ (+ i 1) 3))
1.0))
100))

(define (1-over-phi)
(cont-frac (lambda (i) 1.0)
(lambda (i) 1.0)
100))

我得到的不是 0.7 blah blah blah 的 e-2,而是 0.5 blah blah。我不知道为什么。我很确定我在“eulers-e-2”函数中正确定义了“d”。

编辑:谢谢大家,我是倒着算的。这是固定代码。

(define (cont-frac n d k)
(define (frac n d i)
(if (= k i)
(d i)
(+ (d i) (/ (n (+ i 1)) (frac n d (+ i 1))))))
(/ (n 1) (frac n d 1)))

最佳答案

您似乎在计算以下内容:

N1/(D100 + (N101/ D99 + N100/(D98 + N99/(..))))

代替

N1/(D1 + N2/(D2 + ...))

由于 1/phi 的 N 和 D 相同(均为 1),因此您会得到正确答案。

关于algorithm - 为什么哔哔声不是我的连分数近似值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com