A323287 Number of different numbers that can be obtained from (the decimal expansion of) n by one step of the Choix de Bruxelles, version 1 (A323286) operation.
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 5, 3, 5, 3, 5, 3, 5, 3, 2, 4, 6, 4, 6, 4, 6, 4, 6, 4, 2, 3, 5, 3, 5, 3, 5, 3, 5, 3, 2, 4, 6, 4, 6, 4, 6, 4, 6, 4, 2, 3, 5, 3, 5, 3, 5, 3, 5, 3, 2, 4, 6, 4, 6, 4, 6, 4, 6, 4, 2, 3, 5, 3, 5, 3, 5, 3, 5, 3, 2, 4, 6, 4, 6, 4, 6, 4
Offset: 1
Examples
From 12 we can reach any of 6, 11, 14, 22, 24, so a(12) = 5.
Links
- Rémy Sigrist, Table of n, a(n) for n = 1..10000
- Eric Angelini, Lars Blomberg, Charlie Neder, Remy Sigrist, and N. J. A. Sloane, "Choix de Bruxelles": A New Operation on Positive Integers, arXiv:1902.01444 [math.NT], Feb 2019; Fib. Quart. 57:3 (2019), 195-200.
- Eric Angelini, Lars Blomberg, Charlie Neder, Remy Sigrist, and N. J. A. Sloane,, "Choix de Bruxelles": A New Operation on Positive Integers, Local copy.
Programs
-
PARI
a(n, base=10) = { my (d=digits(n, base), s=Set()); for (w=1, #d, for (l=0, #d-w, if (d[l+1], my (h=d[1..l], m=fromdigits(d[l+1..l+w], base), t=d[l+w+1..#d]); s = setunion(s, Set(fromdigits(concat([h,digits(m*2,base),t]), base))); if (m%2==0, s = setunion(s, Set(fromdigits(concat([h,digits(m/2,base),t]), base))))))); #s } \\ Rémy Sigrist, Jan 15 2019
-
Python
def a(n): s, out = str(n), set() for l in range(1, len(s)+1): for i in range(len(s)+1-l): if s[i] == '0': continue t = int(s[i:i+l]) out.add(int(s[:i] + str(2*t) + s[i+l:])) if t&1 == 0: out.add(int(s[:i] + str(t//2) + s[i+l:])) return len(out) print([a(n) for n in range(1, 88)]) # Michael S. Branicky, Jul 24 2022
Extensions
More terms from Rémy Sigrist, Jan 15 2019
Comments