13 lines
329 B
Text
13 lines
329 B
Text
program disarium_numbers;
|
|
loop for n in [0..2700000] | disarium n do
|
|
print(n);
|
|
end loop;
|
|
|
|
op disarium(n);
|
|
k := n;
|
|
digits := [[k mod 10, k div:= 10](1) : until k=0];
|
|
p := #digits+1;
|
|
powsum := +/[d ** (p -:= 1) : d in digits];
|
|
return powsum = n;
|
|
end op;
|
|
end program;
|