A345397 a(n) is the least number k such that {k, k^2, ..., k^n} are all digitally balanced numbers in base 2 (A031443), or 0 if no such k exists.
2, 212, 3274, 15113, 236417, 15975465, 991017155, 4006725713, 4079348720699
Offset: 1
Examples
a(1) = 2 since 2 is digitally balanced: its binary representation, 10, has the same number of 0's and 1's. a(2) = 212 since both 212 and 212^2 are digitally balanced: the binary representation of 212, 11010100, has 4 0's and 4 1's, and the binary representation of 212^2, 1010111110010000, has 8 0's and 8 1's.
Programs
-
Mathematica
balQ[n_] := Module[{d = IntegerDigits[n, 2], m}, EvenQ @ (m = Length @ d) && Count[d, 1] == m/2]; f[k_] := Module[{e = 0, r = k}, While[balQ[r], r *= k; e++]; e]; mx = 5; s = Table[0, {mx}]; c = 0; n = 1; While[c < mx, k = f[n]; Do[If[s[[i]] == 0, s[[i]] = n; c++], {i, 1, k}]; n++]; s
-
Python
from itertools import count, islice from sympy.utilities.iterables import multiset_permutations def isbalanced(n): b = bin(n)[2:]; return b.count("0") == b.count("1") def A031443gen(): yield from (int("1"+"".join(p), 2) for n in count(1) for p in multiset_permutations("0"*n+"1"*(n-1))) def a(n): for k in A031443gen(): if all(isbalanced(k**i) for i in range(2, n+1)): return k print([a(n) for n in range(1, 6)]) # Michael S. Branicky, Apr 26 2022
Extensions
a(9) from Bert Dobbelaere, Jun 18 2021
Name edited by Alex Ratushnyak, Apr 26 2022
Comments