login
A367341
Numbers without comma-successors: these are the numbers k such that if the commas sequence A121805 is started at k instead of 1, there is no second term.
13
18, 27, 36, 45, 54, 63, 72, 81, 918, 927, 936, 945, 954, 963, 972, 981, 9918, 9927, 9936, 9945, 9954, 9963, 9972, 9981, 99918, 99927, 99936, 99945, 99954, 99963, 99972, 99981, 999918, 999927, 999936, 999945, 999954, 999963, 999972, 999981, 9999918, 9999927, 9999936, 9999945, 9999954, 9999963, 9999972, 9999981
OFFSET
1,1
COMMENTS
Comment from N. J. A. Sloane, Nov 19 2023 (Start)
Theorem. This sequence consists precisely of the decimal numbers of the form
99...9xy = 100*(10^i-1) + 9*x + 9,
with i >= 0 copies of 9, and 1 <= x <= 8.
(See link for proof.) This was stated without proof by David W. Wilson in 2007 (see the Angelini link), and was conjectured (in a slightly less precise form) by Ivan N. Ianakiev, Nov 16 2023.
This implies that the conjecture below is true, as well as the conjecture in A367342.
All terms are multiples of 9, and A367342 gives a(n)/9.
(End)
Numbers k such that A367338(k) = A367339(k) = -1.
By definition, A330129 is a subsequence.
LINKS
Eric Angelini, The Commas Sequence, Message to Sequence Fans, Sep 06 2016. [Cached copy, with permission]
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
FORMULA
The first eight terms are given by a(i) = 9*(i+1), for 1 <= i <= 8; thereafter, each successive block of eight terms is obtained by prefixing the terms of the previous block by 9. - Michael S. Branicky, Nov 15 2023 [This follows from the theorem above. - N. J. A. Sloane, Nov 19 2023]
MAPLE
for i from 0 to 4 do t1:=100*(10^i-1);
for x from 1 to 8 do lprint(t1+9*x+9);
od: od:
MATHEMATICA
fQ[n_]:=Module[{k=n+10*Last[IntegerDigits[n]]+Range[9]}, Select[k, #-n==FromDigits[{Last[IntegerDigits[n]], First[IntegerDigits[#]]}]&]] =={};
Select[Range[10^5], fQ[#]&] (* Ivan N. Ianakiev, Nov 16 2023 *)
PROG
(Python)
from itertools import islice
def ok(n):
an, y = n, 1
while y < 10:
an, y = an + 10*(an%10), 1
while y < 10:
if str(an+y)[0] == str(y):
an += y
break
y += 1
if y < 10:
return False
return True
print([k for k in range(10**6) if ok(k)]) # Michael S. Branicky, Nov 15 2023
CROSSREFS
KEYWORD
nonn,base
AUTHOR
N. J. A. Sloane, Nov 15 2023
EXTENSIONS
a(33) and beyond from Michael S. Branicky, Nov 15 2023
STATUS
approved