

A306384


Start with n and repeatedly double it and apply the "delete any run of identical digits" operation described in A321801; a(n) is the number of steps needed to reach one of 0, 1, or 5, or 1 if none of these three numbers is ever reached.


1



0, 0, 19, 12, 18, 0, 11, 23, 17, 4, 19, 1, 10, 29, 22, 32, 16, 5, 3, 47, 18, 15, 1, 20, 9, 2, 28, 26, 21, 13, 31, 24, 15, 1, 4, 23, 2, 18, 46, 21, 17, 51, 14, 15, 1, 24, 19, 2, 8, 10, 1, 33, 27, 24, 25, 1, 20, 19, 12, 18, 30, 1, 23, 7, 14, 29, 6, 20, 3
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

0,3


COMMENTS

Similar to A323832, but is different in that at each step, the "delete any run of identical digits" operation (A321801) is apply only once here, whereas in A323832, at each step after doubling the number, the operation A321801 is applied repeatedly until the number does not change any longer. The first term which differs from A323832 is a(66).
Conjecture: every number will eventually reach one of 0, 1, or 5.
Conjecture is true for n < 10^10.
2404877 takes 123 steps to reach 5 and is the largest value for a(n) for n < 10^7.
79620527 takes 131 steps to reach 5 and is the largest value for a(n) for n < 10^8.
769237841 takes 138 steps to reach 5 and is the largest value for a(n) for n < 10^9.
The numbers 4807736476 and 4807736509 both take 142 steps to reach 5 and this is the largest value for a(n) for n < 10^10.


LINKS



EXAMPLE

a(66) = 6: 66>132>264>528>1056>22>0. Contrast this with A323832(66) = 5: 66>132>264>528>1056>0.


PROG

(Python)
from re import split
mset, m, c = set(), n, 0
while True:
if m == 1 or m == 0 or m == 5:
return c
m = int('0'+''.join(d for d in split('(0+)(1+)(2+)(3+)(4+)(5+)(6+)(7+)(8+)(9+)', str(2*m)) if d != '' and d != None and len(d) == 1))
if m in mset:
return 1
mset.add(m)
c += 1


CROSSREFS



KEYWORD

nonn,base


AUTHOR



STATUS

approved



