A044821 Positive integers having distinct base-10 run lengths.
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
Offset: 1
Examples
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
Links
- David A. Corneth, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
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; end do: # R. J. Mathar, Jan 18 2018
-
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
-
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)) print([i for i in range(1, 256) if ok(i)]) # Michael S. Branicky, Jan 04 2021