login
Keep only consecutive identical decimal digits of n; write 0 if all digits disappear.
2

%I #20 Dec 02 2018 15:06:51

%S 0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,

%T 33,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,

%U 66,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,11,111,11,11,11,11,11,11,11,11,0,0,22,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0,0,0,99

%N Keep only consecutive identical decimal digits of n; write 0 if all digits disappear.

%C Consecutive identical digits of n are kept. Leading zeros are erased unless the result is 0. If all digits are erased, we write 0 for the result (A321804 is another version, which uses -1 for the empty string).

%C More than the usual number of terms are shown in order to reach some interesting examples. Agrees with A321797 for n < 121.

%C Differs from A321538 for the first time at n = 11011. - _Chai Wah Wu_, Nov 29 2018

%e 123321 becomes 33, 1123 becomes 11, 112331 becomes 1133, and 100223 becomes 22 (as we don't accept leading zeros). Note that 12321 disappears immediately and we get 0.

%t Array[FromDigits[Join @@ Select[Split@ IntegerDigits@ #, Length@ # >= 2 &] /. {} -> {0}] &, 200, 0] (* _Michael De Vlieger_, Nov 20 2018 *)

%o (Python)

%o from re import split

%o def A321803(n):

%o return int('0'+''.join(d if len(d) != 1 else '' for d in split('(0+)|(1+)|(2+)|(3+)|(4+)|(5+)|(6+)|(7+)|(8+)|(9+)',str(n)) if d != '' and d != None))

%Y Cf. A320486, A321800, A321797, A321538.

%K nonn,base

%O 0,12

%A _Chai Wah Wu_, Nov 19 2018