login
A089605
Let P(m) = m/2 if m is even, m + rev(m) if m is odd, where rev(m) is m's base 10 representation reversed. It is conjectured that any number k eventually cycles when P is repeatedly applied to it. Sequence gives number of steps before the cycle is reached.
1
0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 2, 0, 1, 3, 3, 0, 1, 1, 1, 0, 1, 2, 1, 3, 1, 1, 1, 2, 2, 4, 0, 4, 3, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 3, 3, 2, 1, 4, 3, 2, 0, 2, 2, 2, 1, 3, 1, 3, 1, 5, 1, 0, 3, 5, 2, 4, 3, 2, 1, 2, 2, 3, 0, 3, 4, 3, 1, 2, 1, 3, 3, 2, 2, 2, 4, 2, 1, 3, 2, 2, 1, 4, 4, 4, 0, 3, 0, 2, 2, 5
OFFSET
0,9
EXAMPLE
5 -> 10 -> 5 -> ..., so 5 is already in a cycle and a(5) = 0. 13 -> 44 -> 22 -> 11 -> 22 -> ..., so a(13) = 2.
MATHEMATICA
Step[n_] := If[ EvenQ[n], n/2, n + FromDigits[ Reverse[ IntegerDigits[n]]]]; cPalHash = 1013; clearArray = Array[{} &, cPalHash]; InsertCheck[n_, a_] := Module[{i = Mod[n, cPalHash] + 1}, a[[i]] = Append[a[[i]], n]]; SetAttributes[ InsertCheck, HoldRest]; CheckArray[n_, a_] := MemberQ[ a[[Mod[n, cPalHash] + 1]], n]; SetAttributes[ CheckArray, HoldRest]; PalListHelper[n_, cTries_] := Module[{ch = clearArray}, NestWhileList[ (InsertCheck[ #, ch]; Step[ # ]) &, n, Not[ CheckArray[ #, ch]] &, 1, cTries]]; PalList[n_, cTries_] := Module[{lst, nRemoved, loop}, lst = PalListHelper[n, cTries]; nRemoved = First[ First[ Position[lst, lst[[ -1]]]]]; loop = Drop[ Take[lst, {nRemoved, -1}], -1]; Append[ Take[lst, {1, nRemoved - 1}], loop]]; Table[ Length[ PalList[n, 1013]] - 1, {n, 0, 104}] (from Darrell Plank (jar_czar(AT)msn.com), Dec 28 2003)
CROSSREFS
Cf. A089381.
Sequence in context: A249142 A225099 A174806 * A218786 A218787 A325336
KEYWORD
nonn,base,easy
AUTHOR
N. J. A. Sloane, Jan 01 2004
EXTENSIONS
More terms from John W. Layman and Robert G. Wilson v, Jan 05 2004
STATUS
approved