나는 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]
하지만 n
가 회문하지 않을 때입니다 n
시 이전 반복의 목록으로 xs
를 정의하는 방법을 모르겠어요. 어떻게하면 좋을까요? 둘째로이 방법이 효과가 있습니까?
'True'와 쓸모없는 부울 비교. 기억해 보면,'something == True' ='something'; 'something == false' =='not something'. 사람들이 * 어떤 언어로 이것을 할 때 나는 그것을 싫어한다. – ephemient