[go: up one dir, main page]

login
A321802
Delete all consecutive identical decimal digits of n; write -1 if all digits disappear.
6
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 1, 101, 102, 103, 104, 105, 106, 107, 108, 109, 0, -1, 2, 3, 4, 5, 6, 7, 8, 9, 120, 121, 1
OFFSET
0,3
COMMENTS
Consecutive identical digits of n are erased. Leading zeros are erased unless the result is 0. If all digits are erased, we write -1 for the result (A321801 is another version, which uses 0 for the empty string).
More than the usual number of terms are shown in order to reach some interesting examples. Agrees with A320485 for n < 101.
EXAMPLE
12311 becomes 123, 1123 becomes 23, 11231 becomes 231, and 110232 becomes 232 (as we don't accept leading zeros). Note that 112233 disappears immediately and we get -1.
1110 becomes 0 and 11000, 1100011 all become -1.
MATHEMATICA
A321802[n_]:=With[{d=Flatten[Select[Split[IntegerDigits[n]], Length[#]==1&]]}, If[d=={}, -1, FromDigits[d]]]; Array[A321802, 100, 0] (* Paolo Xausa, Nov 14 2023 *)
PROG
(Python)
from re import split
def A321802(n):
return (lambda x: int(x) if x != '' else -1)(''.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))
(PARI) apply( A321802(n)={if(n, forstep(i=#n=digits(n), 2, -1, n[i]!=n[i-1]&&next; if(i<3||n[i-2]!=n[i], n=n[^i]; i--); n=n[^i]); if(#n, fromdigits(n), -1))}, [0..122]) \\ M. F. Hasler, Nov 20 2018
CROSSREFS
Sequence in context: A084905 A180409 A320485 * A337864 A106612 A137564
KEYWORD
sign,base
AUTHOR
Chai Wah Wu, Nov 19 2018
STATUS
approved