login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A330129 a(n) is the last term of the analogous sequence to A121805, but with initial term n, or -1 if that sequence is infinite. 17

%I #31 Feb 07 2024 13:21:43

%S 99999945,9999999999999918,36,9999945,999945,9999999999999999936,936,

%T 9999999999972,999999936,999936,999936,99999945,999954,999918,72,

%U 99999918,999999999927,18,999981,999999999999999963,99981,999999999999999963,999936,9999999999999918,9963

%N a(n) is the last term of the analogous sequence to A121805, but with initial term n, or -1 if that sequence is infinite.

%C The numbers of terms of the corresponding sequences are in A330128.

%H Michael S. Branicky, <a href="/A330129/b330129.txt">Table of n, a(n) for n = 1..10000</a>

%H Eric Angelini, Michael S. Branicky, Giovanni Resta, N. J. A. Sloane, and David W. Wilson, The Comma Sequence: A Simple Sequence With Bizarre Properties, <a href="http://arxiv.org/abs/2401.14346">arXiv:2401.14346</a>, <a href="https://www.youtube.com/watch?v=_EHAdf6izPI">Youtube</a>

%t 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]]]; oX]; Array[a, 30]

%o (Python)

%o def nxt(x):

%o p, n = 1, x

%o while n >= 10:

%o n //= 10

%o p *= 10

%o return p * (n + 1)

%o def a(n):

%o nT, nX, w1, w2, w3, stp = 1, n, 0, 0, 0, 100

%o while True:

%o oX = nX

%o nT += 1

%o x = 10*(oX%10)

%o nX = next((y for y in range(1, 10) if str(oX+x+y)[0] == str(y)), 0)

%o if nX == 0: break

%o else: nX += oX + x

%o if nT == stp:

%o stp += 100

%o w1, w2, w3 = w2, w3, nX

%o if w3 + w1 == 2*w2 and (w3 - w2)%100 == 0:

%o it = (nxt(nX) - nX - 1)//(w3 - w2)

%o nT += it*100

%o nX += (w3 - w2)*it

%o w3 = nX

%o stp += it*100

%o return oX

%o print([a(n) for n in range(1, 30)]) # _Michael S. Branicky_, Nov 18 2023 after _Giovanni Resta_

%Y Cf. A330128, A121805, A139284, A366492.

%K nonn,base

%O 1,1

%A _Giovanni Resta_, Dec 02 2019

%E Escape clause added to definition by _N. J. A. Sloane_, Nov 14 2023

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified March 28 13:25 EDT 2024. Contains 371254 sequences. (Running on oeis4.)