login
Irregular triangle read by rows where row n lists the primes containing at least one digit not seen in any smaller prime in base n, for n >= 2.
0

%I #45 Jul 06 2024 09:25:14

%S 2,2,3,2,3,5,17,2,3,5,19,2,3,5,7,29,37,2,3,5,7,11,13,2,3,5,7,11,37,53,

%T 67,2,3,5,7,11,13,17,59,83,2,3,5,7,11,19,41,61,83,101,2,3,5,7,11,17,

%U 19,31,37,43,2,3,5,7,11,13,53,73,97,109,127,149

%N Irregular triangle read by rows where row n lists the primes containing at least one digit not seen in any smaller prime in base n, for n >= 2.

%e Row n=4 is 2, 3, 5, 17, which is 2_4, 3_4, 11_4, 101_4.

%e First few rows:

%e k=1 2 3 4 5 6 7 8

%e n=2: [2],

%e n=3: [2, 3],

%e n=4: [2, 3, 5, 17],

%e n=5: [2, 3, 5, 19],

%e n=6: [2, 3, 5, 7, 29, 37],

%e n=7: [2, 3, 5, 7, 11, 13],

%e n=8: [2, 3, 5, 7, 11, 37, 53, 67],

%e ...

%o (Python)

%o from sympy.ntheory import digits, nextprime

%o def row(n):

%o if n == 2: return [2]

%o p, r, used = 2, [2], {2}

%o while len(used) < n:

%o while (ds:=set(digits(p:=nextprime(p), n)[1:])) <= used: pass

%o r.append(p)

%o used |= ds

%o return r

%o print([an for b in range(2, 13) for an in row(b)]) # _Michael S. Branicky_, Jul 01 2024

%o (PARI) isok(d, digs) = for (i=1, #d, if (!vecsearch(digs, d[i]), return(1)));

%o row(n) = my(digs=List(), v=List()); forprime(p=2, , my(d = digits(p, n)); if (isok(d, Vec(digs)), listput(v, p); for (i=1, #d, listput(digs, d[i])); listsort(digs, 1); if (#digs == n, return(Vec(v))););); \\ _Michel Marcus_, Jul 02 2024

%Y Cf. A033274.

%K base,easy,nonn,tabf

%O 2,1

%A _Nicolas Bělohoubek_, Jul 01 2024