17 lines
376 B
Text
17 lines
376 B
Text
get "libhdr"
|
|
|
|
let length(n) = n < 10 -> 1,
|
|
length(n/10) + 1
|
|
|
|
let pow(b, e) = e = 0 -> 1,
|
|
b * pow(b, e-1)
|
|
|
|
let dps(n) = dpsl(n, length(n))
|
|
and dpsl(n, p) = n = 0 -> 0,
|
|
pow(n rem 10, p) + dpsl(n/10, p-1)
|
|
|
|
let disarium(n) = dps(n) = n
|
|
|
|
let start() be
|
|
for n=0 to 2500 if disarium(n)
|
|
do writef("%N*N", n)
|