Scheme Fibonacci系列列表打印

时间:2015-10-21 21:35:27

标签: recursion scheme fibonacci

我正在尝试编写一个递归函数,在给定参数n的斐波那契数列的元素列表中打印一个列表(新行中的每个数字)。我需要使用display函数来打印这些数字并使用辅助方法。

示例:

  

(fibo 5)   1   1   2   3   5

有人能帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

只需在循环函数中调用您的过程,按照正确的顺序打印元素并打破新行。请注意,我们称之为递归的点对于获得所需的行为非常重要! (要看到这一点,在换行后移动递归调用 - 打印顺序将会改变)。

(define print-fibo
  (lambda (n)
    (cond ((> n 0)              ; keep iterating if we haven't reached zero
           (print-fibo (- n 1)) ; advance the recursion
           (display (fibo n))   ; display current value of fibo
           (newline)))))        ; print a new line

例如:

(print-fibo 5)
1
1
2
3
5