我正在做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