25 lines
691 B
Text
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
|