我正在做Lychrel数字Project Euler question 55,其目的是在50次迭代中找到10,000以下的Lychrel数量。我想出了这个:Haskell中的中间列表
revAdd n = (read $ reverse $ show n) + n
lychrel n | length xs == 50 = error "False"
| ((reverse $ show (revAdd n)) == (show (revAdd n))) = True
| otherwise = (lychrel (revadd n)) : xs
answer = length [ x | x <- [1..10000] , lychrel x == True]
但我不知道如何定义xs
如先前迭代时n
名单,这是当n
不是回文。我将如何做到这一点,其次,这将工作?
与'True'无用的布尔比较。记住,'something == True' ='something'; '东西==假'=='不是东西'。当人们用* any *语言来做这件事时,我讨厌它。 – ephemient 2009-10-23 16:12:45