【发布时间】:2019-09-17 23:51:06
【问题描述】:
我正在尝试编写一个简单的haskell 程序来总结一个整数的数字,例如我的整数是888,所以总和应该是8+8+8=24。我把这部分记下来了,但我希望我的程序继续运行,直到没有什么要添加,例如在添加 8+8+8 = 24 之后它应该添加 2 + 4 = 6 然后返回 6。感谢您的帮助!
import System.IO
import Data.List
integer = 888
todigits :: Integral x => x -> [x]
todigits 0 = []
todigits x = todigits (x `div` 10) ++ [x `mod` 10]
add::[Int]->Int
add (x:xs) = sum(x:xs)
added = add (todigits integer)
main = do
print(added)
【问题讨论】:
标签: haskell recursion functional-programming