Lychrel numbers: Difference between revisions

→‎{{header|Haskell}}: make it infinite list
m (C++ - removed unused function)
(→‎{{header|Haskell}}: make it infinite list)
Line 1,587:
 
procLychrel :: Integer -> [Integer]
procLychrel a = a : pl 0 a
where
pl c n =
if c >let 500s = n + reverseInteger n
then []
else let s = n + reverseInteger n
in if isPalindrome s
then [s]
else s : pl (c + 1) s
 
isPalindrome :: Integer -> Bool
Line 1,603 ⟶ 1,601:
 
isLychrel :: Integer -> Bool
isLychrel n = lengthnot (procLychrel. n)null >. drop 500 . procLychrel
 
reverseInteger :: Integer -> Integer
Line 1,619 ⟶ 1,617:
sar (seed, related, lych) x =
let s = procLychrel x
sIsLychrel = lengthnot s. >null . drop 500 $ s
(isIn, isOut) = partition (`elem` lych) . take 501 $ s
newLych = lych ++ isOut
in if sIsLychrel
Line 1,635 ⟶ 1,633:
putStrLn $ "There are " ++ show relatedCount ++ " related Lychrel numbers."</lang>
{{Out}}
<pre>
<lang Haskell>
[1..10,000] contains 249 Lychrel numbers.
[9999,8778,4994] are palindromic Lychrel numbers.
[9999,7059,1997,879,196] are Lychrel seeds.
There are 244 related Lychrel numbers.
</langpre>
 
=={{header|J}}==
Anonymous user