gpt4 book ai didi

python - 为什么在 Scheme 和 Python 中实现的递归方程的返回值不同?

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:27 26 4
gpt4 key购买 nike

<分区>

我正在尝试在 Scheme 中实现一个基本的递归函数,并且我编写了相同的函数以确保我正确地编写了它。对于从 1 到 7 的值,Scheme 和 Python 实现返回相同的答案。但是,之后值开始出现差异。我无法理解为什么会这样。 (这是作业,但这不是作业中要问的问题,我只是想了解为什么这两个实现返回不同的值)

# Function to be implemented 
f(n) = n, if n<4
f(n) = f(n-1) + 2f(n-2) + 3f(n-3) + 4f(n-4), otherwise

方案

(define (f n)
(if (< n 4)
n
(+ (f (- n 1)) (* 2(f(- n 2))) (* 3(f (- n 3))) (* 4(- n 4)))))

(f 1)
(f 2)
(f 3)
(f 4)
(f 5)
(f 6)
(f 7)
(f 8)
(f 9)
(f 10)

1
2
3
10
26
63
157
377
900
2149

python

def f(n):
if n<4:
return n
else:
return f(n-1) + 2*f(n-2) + 3*f(n-3) + 4*f(n-4)


print (f(1))
print (f(2))
print (f(3))
print (f(4))
print (f(5))
print (f(6))
print (f(7))
print (f(8))
print (f(9))
print (f(10))

1
2
3
10
26
63
157
401
1008
2533

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