login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A342076 Digits only come in successive pairs (separated or not by a comma). 3

%I #8 Feb 28 2021 10:09:49

%S 1,11,12,2,3,31,13,32,21,14,4,5,51,15,52,22,23,33,34,41,16,6,7,71,17,

%T 72,24,42,25,53,35,54,43,36,61,18,8,9,91,19,92,26,62,27,73,37,74,44,

%U 45,55,56,63,38,81,100,66,77,88,99,111,122,112,28,82,29,93,39,94,46,64,47,75,57,76,65,58,83,300

%N Digits only come in successive pairs (separated or not by a comma).

%C The sequence starts with a(1) = 1 and is always extended with the smallest positive integer not yet present that does not lead to a contradiction.

%C No term can end with an odd number of successive 0.

%C This is not the sequence A329127 as they diverge at a(55).

%e a(1) = 1 forces the next digit to be a 1 (as digits must come in pairs); the smallest positive integer not yet present that starts with a 1 and does not lead to a contradiction is 11 (as 10, ending with an odd number of 0, is forbidden). Thus, a(2) = 11;

%e a(3) = 12 as a(3) must start with a 1 (to complete a pair of identical digits), and 12 is the smallest positive integer not yet present that does not lead to a contradiction;

%e a(4) = 2 as 2 is the smallest positive integer not yet present that starts with a 2 and does not lead to a contradiction; etc.

%o (Python)

%o mustpair = set(range(10))

%o def pairsup(n, offset=0):

%o digits = list(map(int, str(n)))[offset:]

%o if len(digits) == 0: return True, False

%o i = 0

%o while i < len(digits) - 1:

%o if digits[i] in mustpair:

%o if digits[i] != digits[i+1]: return False, None

%o else: i += 2

%o else: i += 1

%o unpaired = digits[-1] in mustpair and i != len(digits)

%o return not (unpaired and digits[-1] == 0), unpaired

%o def aupton(terms, startswith=1):

%o alst, unpaired = [startswith], startswith in mustpair

%o for n in range(2, terms+1):

%o m = 1

%o while True:

%o while m in alst: m += 1

%o if not unpaired or int(str(m)[0]) == alst[-1]%10:

%o passes, temp = pairsup(m, offset=int(unpaired))

%o if passes: alst.append(m); unpaired = temp; break

%o m += 1

%o return alst

%o print(aupton(66)) # _Michael S. Branicky_, Feb 28 2021

%Y Cf. A342077, A342078 and A342079 (variations on the same idea), A329127 (first 54 terms are the same).

%K base,nonn

%O 1,2

%A _Eric Angelini_, Feb 28 2021

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 24 20:08 EDT 2024. Contains 371963 sequences. (Running on oeis4.)