在数字三角形中查找第(x,y)个数字

时间:2014-05-15 23:04:32

标签: haskell recursion nodes

我已经获得了一个在数字三角形中找到第(x,y)个数字的赋值。三角形定义如下。

如果| x |> y则为0

如果(x,y)=(0,0)则为1

其他值是所有传入路径的总和,但不包括所需节点。走下三角形,你可以走的唯一方向是直线向下,对角线向下和向左,对角线向下和向右。

例如节点(0,2)= 6.这是因为有3条路径到6,每条路径加起来为2.

使用下表可能更容易理解:

Number Triangle

我目前正致力于为此三角形制作数据类型。

然后我考虑创建一个无限数字三角形,然后利用Haskell的惰性求值来找到给定节点的值。与您在各个网站上列出的Fibonacci系列中的第n个术语类似:

fibs = 1 : 1 : zipWith (+) fibs (tail fibs)

我很难搞清楚如何做到这一点。

任何朝着正确方向的推动都会非常有帮助。

0 个答案:

没有答案