\\ [u,k,l]. u = orbit of x, k = length of preperiod, \\ l = length of cycle. t_floyd (f,x) = {my (y,u,l,k); y=f(x); u=[x]; while (y!=x, x=f(x); u=concat(u,[x]); y=f(f(y))); l=1; y=f(x); while (y!=x, u=concat(u,[y]); y=f(y); l++); k=#Set(u)-l; u=u[1..k+l]; [u,k,l]} t_kaprekar (n,b,k) = {my (v,w); v=vecsort(t_adicfull(n,b,k)); w=vecsort(v,,4); t_ruffini(w,b)-t_ruffini(v,b)}