【发布时间】:2012-09-06 23:24:25
【问题描述】:
我目前正在寻找帕斯卡三角形的行序列。我想输入行号并输出列表中的数字序列,直到该行。例如,(Pascal 4) 将给出结果(1 1 1 1 2 1 1 3 3 1)。
我正在尝试使用我找到的算法。这是算法本身:
Vc = Vc-1 * ((r - c)/c)
r 和 c 应该是行和列,并且 V0=1。该算法可以在维基百科页面上标题为“计算和单个行或对角线”的部分中找到。
这是我目前的代码:
(define pascal n)
(cond((zero? n) '())
((positive? n) (* pascal (- n 1) (/ (- n c)c))))
我知道这几乎没有什么,但我一直在努力寻找使用 let 或 lambda 来合并列值的函数范围。此外,我也一直在为递归而苦苦挣扎。我真的不知道如何建立基本案例以及如何进入下一步。基本上,我到处都迷路了。我知道这并没有显示太多,但我们将不胜感激朝着正确方向迈出的任何一步。
【问题讨论】:
标签: recursion scheme pascals-triangle