|
|
A044821
|
|
Positive integers having distinct base-10 run lengths.
|
|
18
|
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 100, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 122, 133, 144, 155, 166, 177, 188, 199, 200, 211, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 233, 244, 255
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
LINKS
|
|
|
EXAMPLE
|
117 is in the sequence because it has a run length of 2 and a run length of 1. 101 is not in the sequence because it has three run lengths of 1. - R. J. Mathar, Jan 18 2018
|
|
MAPLE
|
rlset := proc(L::list)
local lset, rl, i ;
lset := [] ;
rl := 1 ;
for i from 2 to nops(L) do
if op(i, L) = op(i-1, L) then
rl := rl+1 ;
else
lset := [op(lset), rl] ;
rl := 1;
end if;
end do:
lset := [op(lset), rl] ;
end proc:
isA044821 := proc(n)
local dgs, rl;
dgs := convert(n, base, 10) ;
rl := rlset(dgs) ;
if nops(rl) = nops( convert(rl, set)) then
true;
else
false;
end if;
end proc:
for n from 1 to 400 do
if isA044821(n) then
printf("%d, ", n) ;
end if;
|
|
PROG
|
(Python)
from itertools import groupby
def ok(n):
runlengths = [len(list(g)) for k, g in groupby(str(n))]
return len(runlengths) == len(set(runlengths))
(PARI) is(n) = { my(runs = List(), lr = 0, d = digits(n)); for(i = 1, #d - 1, if(d[i] != d[i + 1], listput(runs, i - lr); lr = i; ) ); listput(runs, #d - lr); #Set(runs) == #runs } \\ David A. Corneth, Jan 04 2021
|
|
CROSSREFS
|
Cf. A044813, A044814, A044815, A044816, A044817, A044818, A044819, A044820, A044821, A044822, A044823, A044824, A044825, A044826, A044827 (base 2 to base 16).
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|