1
如何建立一个无限矩阵,其中的数字与列表理解是对角的?如何用列表理解建立对角线矩阵
[[ 1, 2, 4, 7, 11, ...],
[ 3, 5, 8, 12, 17, ...],
[ 6, 9, 13, 18, 24, ...],
[10, 14, 19, 25, 32, ...],
...]
我一直试图做这样的:
firstColumn = take 6 $ map fst $ iterate (\(a,b) -> (a+b,b+1)) (1,2)
matr :: [[Int]]
matr = [take 6 $ map fst $ iterate (\(x,y) -> (x+y, y+1)) (a, i) | a <- firstColumn, let i = 1]
但我怎么能传递第(i + 1)至下一每一行(换句话说,我怎么遍历附加行)
你尝试过什么?你知道如何做它的数学方面,或者你需要帮助吗?这是功课吗? – dave4420 2012-03-21 15:20:53
而且,为什么它必须使用列表理解? – dave4420 2012-03-21 15:23:15
它是作业的一部分,我已经尝试了一些这种理解,所以想现在如何理解)我认为使用其他的东西可能会更容易) – overwriter 2012-03-21 16:30:12