%I #18 Jun 20 2018 01:32:24
%S 0,1,1,1,1,1,1,1,1,1,2,1,2,6,4,5,3,3,5,4,6,2,1,2,6,4,5,3,3,5,4,6,2,1,
%T 2,6,4,5,3,3,5,4,6,2,1,2,6,4,5,3,3,5,4,6,2,1,2,6,4,5,3,3,5,4,6,2,1,2,
%U 6,4,5,3,3,5,4,6,2,1,2,6,4,5,3,3,5,4,6,2,1,2,6,4,5,3,3,5,4,6,2,1,2,1,2,6,4
%N Length of the preperiodic part of the 'Reverse and Subtract' trajectory of n.
%C 'Reverse and Subtract' (cf. A070837, A070838) is defined by x -> |x - reverse(x)|, where reverse(x) is the digit reversal of x.
%C For every n the trajectory eventually becomes periodic, since 'Reverse and Subtract' does not increase the number of digits and so the set of available terms is finite. For small n the period length is 1, the periodic part consists of 0's, the last term of the preperiodic part is a palindrome.
%C The first n with period length 2 and a nontrivial periodic part is 1012 (cf. A072140).
%C This sequence is a weak analog of A033665, which uses 'Reverse and Add'.
%H R. Zumkeller, <a href="/A072137/b072137.txt">Table of n, a(n) for n = 0..10000</a>
%e a(15) = 4 since 15 -> |15- 51| = 36 -> |36 - 63| = 27 -> |27 - 72| = 45 -> |45 - 54| = 9.
%t a[n_] := (k = 0; FixedPoint[ (k++; Abs[# - FromDigits[ Reverse[ IntegerDigits[#] ] ] ]) &, n]; k - 1); Table[ a[n], {n, 0, 104}] (* _Jean-François Alcover_, Dec 01 2011 *)
%o (Haskell)
%o import Data.List(inits, find); import Data.Maybe(fromJust)
%o a072137 :: Int -> Int
%o a072137 = length . fst . spanCycle (abs . a056965) where
%o spanCycle :: Eq a => (a -> a) -> a -> ([a],[a])
%o spanCycle f x = fromJust $ find (not . null . snd) $
%o zipWith (span . (/=)) xs $ inits xs
%o where xs = iterate f x
%o -- _Reinhard Zumkeller_, Oct 24 2010
%Y Cf. A033665, A070837, A070838, A072138, A072139, A072140, A072141, A072146, A072147.
%K base,easy,nonn,nice
%O 0,11
%A _Klaus Brockhaus_, Jun 24 2002