%I #43 Mar 24 2024 10:48:42
%S 8,24,24,90,90,119,200,117,200,319,528,1131,1134,525,1328,1343,1332,
%T 1330,1340,2478,7260,1334,5352,4300,5954,4833,13188,8468,10800,15686,
%U 11744,19338,19618,22575,19620,15688,28234,19617,25480,31406,19614,40291,25476,31410
%N The smallest number in base n such that two digits (and no fewer) need to be changed to get a prime.
%C Any digit, including the most significant, can be changed to 0.
%C If one defines the Prime-Erdős-Number PEN(n, k) in base n of a number k to be the minimum number of the base-n digits of k that must be changed to get a prime, then a(n) is the smallest number k such that PEN(n, k) = 2.
%C Adding preceding 0's to be changed does not appear to change any of the entries given below.
%H Michael S. Branicky, <a href="/A370531/b370531.txt">Table of n, a(n) for n = 2..143</a>
%e a(2) = 8 = 1000_2 can be changed to the prime 1011_2 (11 in decimal) by changing the last two digits. Although 4 = 100_2 can be changed to the prime 111_2 by changing two digits, it can also be changed to the prime 101_2 by only one base-2 digit, so 4 is not a(2).
%e a(3) = 24 = 220_3 can be changed to 212_3 = 23. 24 is not prime and no single base-3 digit change works.
%e a(4) = 24 = 120_4 can be changed to 113_4 = 23.
%e a(5) = 90 = 330_5 -> 324_5 = 89.
%e a(6) = 90 = 230_6 -> 225_6 = 89.
%e a(7) = 119 = 230_7 -> 221_7 = 113.
%e a(8) = 200 = 310_8 -> 307_8 = 199.
%e a(9) = 117 = 140_9 -> 135_9 = 113.
%e Often, there are alternative ways to change two digits to get alternative primes, but for each a(n), there is not any way to get a prime by changing 0 or 1 digits in base n.
%o (Python)
%o from sympy import isprime
%o from sympy.ntheory import digits
%o from itertools import combinations, count, product
%o def fromdigits(d, b): return sum(di*b**i for i, di in enumerate(d[::-1]))
%o def PEN(base, k):
%o if isprime(k): return 0
%o d = digits(k, base)[1:]
%o for j in range(1, len(d)+1):
%o for c in combinations(range(len(d)), j):
%o for p in product(*[[i for i in range(base) if i!=d[c[m]]] for m in range(j)]):
%o dd = d[:]
%o for i in range(j): dd[c[i]] = p[i]
%o if isprime(fromdigits(dd, base)): return j
%o def a(n): return next(k for k in count(n) if PEN(n, k) == 2)
%o print([a(n) for n in range(2, 32)]) # _Michael S. Branicky_, Feb 21 2024
%Y Cf. A133219, A186995, A322614.
%K nonn
%O 2,1
%A _Don N. Page_, Feb 21 2024
%E a(11) and beyond from _Michael S. Branicky_, Feb 21 2024