gpt4 book ai didi

lisp - 在 Scheme 中创建斐波那契数列?

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

我制作了一个基本程序,可以输出任意长度“n”的斐波那契数列。这是我的代码:

(define (fibh n)
(if (< n 2)
n
(+ (fibh (- n 1)) (fibh (- n 2)))))

(define (fib n)
(do ((i 1 (+ i 1)))
((> i n))
(display (fibh i))))

它将输出,例如,112358

我想要的是一个列表,例如 (1 1 2 3 5 8)

如能解释如何执行此操作,我们将不胜感激。

最佳答案

(map fibh '(1 2 3 4 5 6))

会成功的。如果您不想手动枚举整数,则可以实现一个简单的递归函数来为您完成该操作,例如:

(define (count i n)
(if (= i n)
'()
(cons i (count (+ i 1) n))))

(注意:这不是尾递归,但使用该算法计算斐波那契数,这不是您的主要关注点。)

关于lisp - 在 Scheme 中创建斐波那契数列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607966/

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