|
|
A330128
|
|
a(n) is the number of terms in the analog of A121805 but starting with n, or -1 if that sequence is infinite.
|
|
18
|
|
|
2137453, 194697747222394, 2, 199900, 19706, 209534289952018960, 15, 198104936410, 19511030, 20573, 20572, 2137452, 20534, 19238, 2, 2089707, 20670629294, 1, 21482, 19278442756937613, 2074, 19278442756937612, 20571, 194697747222393, 193, 197062, 1, 197, 2061823
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
The final terms of the corresponding sequences are given in A330129.
|
|
LINKS
|
Eric Angelini, Michael S. Branicky, Giovanni Resta, N. J. A. Sloane, and David W. Wilson, The Comma Sequence: A Simple Sequence With Bizarre Properties, arXiv:2401.14346, Youtube
|
|
MATHEMATICA
|
nxt[x_] := Block[{p=1, n=x}, While[n >= 10, n = Floor[n/10]; p *= 10]; p (n + 1)]; a[n_] := Block[{nT=1, nX=n, w1, w2, w3, x, it, stp, oX}, stp = 100; w1 = w2 = w3 = 0; While[True, oX = nX; nT++; x = 10*Mod[oX, 10]; nX = SelectFirst[Range[9], IntegerDigits[oX + x + #][[1]] == # &, 0]; If[nX == 0, Break[], nX = nX + oX + x]; If[nT == stp, stp += 100; w1=w2; w2=w3; w3=nX; If[w3 + w1 == 2 w2 && Mod[w3 - w2, 100] == 0, it = Floor[(nxt[nX] - nX - 1)/(w3 - w2)]; nT += it*100; nX += (w3 - w2)*it; w3=nX; stp += it*100]]]; nT - 1]; Array[a, 30]
|
|
PROG
|
(Python)
def nxt(x):
p, n = 1, x
while n >= 10:
n //= 10
p *= 10
return p * (n + 1)
def a(n):
nT, nX, w1, w2, w3, stp = 1, n, 0, 0, 0, 100
while True:
oX = nX
nT += 1
x = 10*(oX%10)
nX = next((y for y in range(1, 10) if str(oX+x+y)[0] == str(y)), 0)
if nX == 0: break
else: nX += oX + x
if nT == stp:
stp += 100
w1, w2, w3 = w2, w3, nX
if w3 + w1 == 2*w2 and (w3 - w2)%100 == 0:
it = (nxt(nX) - nX - 1)//(w3 - w2)
nT += it*100
nX += (w3 - w2)*it
w3 = nX
stp += it*100
return nT - 1
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|