RosettaCodeData/Task/Lychrel-numbers/Icon/lychrel-numbers.icon
2026-04-30 12:34:36 -04:00

25 lines
691 B
Text

global seeds, related, palins
procedure main(A)
limit := \A[1] | 10000
palins := []
seeds := []
related := 0
every n := islychrel(seq()\limit) do put(palins, reverse(n) == n)
every writes("Seed Lychrels:" | (" "||(!seeds)) | "\n")
write("There are ",related," related Lychrels.")
every writes("Palindromic Lychrels:" | (" "||!palins) | "\n")
end
procedure islychrel(n,limit:500)
static seen
initial seen := set()
on := n
every |((n +:= reverse(n)) ~== reverse(n))\limit do
if (/r,member(seen,n)) then r := "yes"
else insert(seen, n)
if n ~== reverse(n) then {
if \r then related +:= 1 else put(seeds,on)
return on
}
end