我已经获得了一个在数字三角形中找到第(x,y)个数字的赋值。三角形定义如下。
如果| x |> y则为0
如果(x,y)=(0,0)则为1
其他值是所有传入路径的总和,但不包括所需节点。走下三角形,你可以走的唯一方向是直线向下,对角线向下和向左,对角线向下和向右。
例如节点(0,2)= 6.这是因为有3条路径到6,每条路径加起来为2.
使用下表可能更容易理解:
我目前正致力于为此三角形制作数据类型。
然后我考虑创建一个无限数字三角形,然后利用Haskell的惰性求值来找到给定节点的值。与您在各个网站上列出的Fibonacci系列中的第n个术语类似:
fibs = 1 : 1 : zipWith (+) fibs (tail fibs)
我很难搞清楚如何做到这一点。
任何朝着正确方向的推动都会非常有帮助。