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
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, 72, 24, 42, 25, 53, 35, 54, 43, 36, 61, 18, 8, 9, 91, 19, 92, 26, 62, 27, 73, 37, 74, 44, 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 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,2

COMMENTS

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.

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

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

LINKS

Table of n, a(n) for n=1..78.

EXAMPLE

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;

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;

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.

PROG

(Python)

mustpair = set(range(10))

def pairsup(n, offset=0):

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

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

  i = 0

  while i < len(digits) - 1:

    if digits[i] in mustpair:

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

      else: i += 2

    else: i += 1

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

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

def aupton(terms, startswith=1):

  alst, unpaired = [startswith], startswith in mustpair

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

    m = 1

    while True:

      while m in alst: m += 1

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

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

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

      m += 1

  return alst

print(aupton(66)) # Michael S. Branicky, Feb 28 2021

CROSSREFS

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

Sequence in context: A265715 A178496 A186433 * A329127 A076654 A264811

Adjacent sequences:  A342073 A342074 A342075 * A342077 A342078 A342079

KEYWORD

base,nonn

AUTHOR

Eric Angelini, Feb 28 2021

STATUS

approved

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 June 28 12:59 EDT 2022. Contains 354907 sequences. (Running on oeis4.)