login
A295638
Take the sequence of nonnegative integers whose decimal digits are not in strictly increasing order. Partition the sequence into subsequences whose elements are consecutive integers. Then a(n) is the number of elements in the n-th partition.
1
2, 3, 4, 5, 6, 7, 8, 9, 33, 4, 5, 6, 7, 8, 9, 44, 5, 6, 7, 8, 9, 55, 6, 7, 8, 9, 66, 7, 8, 9, 77, 8, 9, 88, 9, 99, 444, 5, 6, 7, 8, 9, 55, 6, 7, 8, 9, 66, 7, 8, 9, 77, 8, 9, 88, 9, 99, 555, 6, 7, 8, 9, 66, 7, 8, 9, 77, 8, 9, 88, 9, 99, 666, 7, 8
OFFSET
1,1
COMMENTS
Only defined as an integer for a(1) through a(255), as a(256) references the infinite partition (123456790, 123456791, ..., 999999999, 1000000000, 1000000001, ...). No integer greater than 123456789 has a strictly increasing sequence of digits (itself being the only case for 9 digits, and by the pigeonhole principle, a >9-digit number must have a digit repeated and is thus not strictly increasing).
LINKS
EXAMPLE
For a(1)=2 through a(8)=9, these correspond to the consecutive subsequences (10, 11), (20, 21, 22), ..., (80, 81, 82, ..., 88). The jumps at e.g. a(9)=33 or a(37)=444 correspond to (90, 91, ..., 122) and (790, 791, ..., 1233), where 89 and 123, and 789 and 1234, are the values partitioning the subsequences.
PROG
(Python) def a(n):
(x, i, count, switch) = (0, 0, 1, True)
while True:
if switch == (list(sorted(set(str(i)))) == list(str(i))):
count += 1
else:
if not switch: x += 1
if x == n: return count
(count, switch) = (1, not switch)
i += 1
(PARI) is(n) = my(d=digits(n)); d != vecsort(d, , 8);
lista(nn) = {my(w = select(n->is(n), vector(nn, k, k))); my(dw = vector(#w-1, k, w[k+1] - w[k])); my(k = 1); for (n=1, #dw, if (dw[n] == 1, k++, print1(k, ", "); k = 1); ); } \\ Michel Marcus, Jan 08 2018
CROSSREFS
The nonnegative integers minus A009993 is the sequence that is partitioned.
Sequence in context: A349864 A004849 A261279 * A357195 A173551 A271534
KEYWORD
nonn,fini,less,base
AUTHOR
Gunnar Lee Johnson, Nov 24 2017
STATUS
approved