with(numtheory): T:=proc(w) local x, y, z; x:=0; y:=w;
for z from 1 to ilog10(w)+1 do x:=10*x+(y mod 10); y:=trunc(y/10); od; x; end:
P:=proc(q) local a, b, k, n; for n from 1 to q do
a:=sort([op(divisors(n))]); b:=add(T(a[k]), k=1..nops(a)-1); a:=sort([op(divisors(b))]); b:=add(T(a[k]), k=1..nops(a)-1);
if b=n then print(n); fi; od; end: P(10^12);
|