A345396 a(n) is the least prime p such that {p, p^2, ..., p^n} are all digitally balanced numbers in base 2 (A031443).
2, 12049, 52673, 937253, 1000099, 3844790441, 62911443401, 1052000152157
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) = 12049 since both 12049 and 12049^2 are digitally balanced: the binary representation of 12049, 10111100010001, has 7 0's and 7 1's, and the binary representation of 12049^2, 1000101001110011111100100001, has 14 0's and 14 1's.
Programs
-
Mathematica
balQ[n_] := Module[{d = IntegerDigits[n, 2], m}, EvenQ @ (m = Length @ d) && Count[d, 1] == m/2]; f[p_] := Module[{e = 0, r = p}, While[balQ[r], r *= p; e++]; e]; mx = 5; s = Table[0, {mx}]; c = 0; p = 2; While[c < mx, k = f[p]; Do[If[s[[i]] == 0, s[[i]] = p; c++], {i, 1, k}]; p = NextPrime[p]]; s
-
Python
from itertools import count, islice from sympy import isprime from sympy.utilities.iterables import multiset_permutations def isbalanced(n): b = bin(n)[2:]; return b.count("0") == b.count("1") def A066196gen(): yield from filter(isprime, (int("1"+"".join(p), 2) for n in count(1) for p in multiset_permutations("0"*n+"1"*(n-1)))) def a(n): for p in A066196gen(): if all(isbalanced(p**i) for i in range(2, n+1)): return p print([a(n) for n in range(1, 6)]) # Michael S. Branicky, May 15 2022
Comments