【发布时间】:2023-04-05 04:47:05
【问题描述】:
我正在对 Lychrel 数执行 Project Euler question 55,其目的是在 50 次迭代中找到低于 10,000 的 Lychrel 数。我想出了这个:
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;something == False==not something。我讨厌人们用任何语言这样做。