我写了一个函数来找到asciibox的下一列的位置 例如:
+-----++---++---+
| a || b || c |
+-----++---++---+
方框b应从列“伪代码”{length(方框a)}开始,方框c应从伪代码开始{长方框a +长方框b}
所以我写了这个函数
f:: [Int]->[Int]->[Int]
f (x:xs) [] = f xs [x]
f [] ys = ys
f (x:xs) ys = f xs (ys++[x+ last ys])
给了我想要的东西
f [23,24,25] []
ghci> [23,47,72]
我想知道其他算法是否可行。是否存在“折叠”或“展开”或可能“迭代”的解决方案
感谢
答案 0 :(得分:5)
> scanl (+) 0 [23, 24, 25]
[0,23,47,72]