cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A356511 Total number of distinct numbers that can be obtained by starting with 1 and applying the "Choix de Bruxelles", version 2 operation at most n times in duodecimal (base 12).

This page as a plain text file.
%I A356511 #30 Jan 09 2025 13:04:15
%S A356511 1,2,3,4,5,9,19,45,107,275,778,2581,10170,45237,222859,1191214,
%T A356511 6887258,42894933,287397837
%N A356511 Total number of distinct numbers that can be obtained by starting with 1 and applying the "Choix de Bruxelles", version 2 operation at most n times in duodecimal (base 12).
%H A356511 Eric Angelini, Lars Blomberg, Charlie Neder, Remy Sigrist, and N. J. A. Sloane, <a href="http://arxiv.org/abs/1902.01444">"Choix de Bruxelles": A New Operation on Positive Integers</a>, arXiv:1902.01444 [math.NT], Feb 2019; Fib. Quart. 57:3 (2019), 195-200.
%H A356511 Eric Angelini, Lars Blomberg, Charlie Neder, Remy Sigrist, and N. J. A. Sloane,, <a href="/A307635/a307635.pdf">"Choix de Bruxelles": A New Operation on Positive Integers</a>, Local copy.
%H A356511 J. Conrad, <a href="https://raw.githubusercontent.com/cxr00/cxr/master/tests/base64/choix_de_bruxelles.py">Python program</a>.
%e A356511 For n=4, the a(4) = 5 numbers obtained are (in base 12): 1, 2, 4, 8, 14.
%e A356511 For n=5, they expand to a(5) = 9 numbers (in base 12): 1, 2, 4, 8, 12, 14, 18, 24, 28.
%o A356511 (Python) # See Conrad link.
%o A356511 (Python)
%o A356511 from itertools import islice
%o A356511 from sympy.ntheory import digits
%o A356511 def fd12(d): return sum(12**i*di for i, di in enumerate(d[::-1]))
%o A356511 def cdb2(n):
%o A356511     d, out = digits(n, 12)[1:], {n}
%o A356511     for l in range(1, len(d)+1):
%o A356511         for i in range(len(d)+1-l):
%o A356511             if d[i] == 0: continue
%o A356511             t = fd12(d[i:i+l])
%o A356511             out.add(fd12(d[:i] + digits(2*t, 12)[1:] + d[i+l:]))
%o A356511             if t&1 == 0:
%o A356511                 out.add(fd12(d[:i] + digits(t//2, 12)[1:] + d[i+l:]))
%o A356511     return out
%o A356511 def agen():
%o A356511     reach, expand = {1}, [1]
%o A356511     while True:
%o A356511         yield len(reach)
%o A356511         newreach = {r for q in expand for r in cdb2(q) if r not in reach}
%o A356511         reach |= newreach
%o A356511         expand = list(newreach)
%o A356511 print(list(islice(agen(), 14))) # _Michael S. Branicky_, Aug 17 2022
%Y A356511 Cf. A323289 (decimal).
%K A356511 nonn,more,base
%O A356511 0,2
%A A356511 _J. Conrad_, Aug 09 2022
%E A356511 a(16)-a(18) from _Michael S. Branicky_, Aug 17 2022