login
Number of compositions of n which are prime when concatenated and read as a decimal string.
2

%I #24 Feb 22 2024 02:17:27

%S 0,2,1,3,7,0,29,27,0,90,236,0,758,1039,0,3949,9325,0,32907,51243,0,

%T 184458,426372,0,1552101,2537233,0,9526385,21117111,0,78112040,

%U 134568638,0,505079269,1096046406,0

%N Number of compositions of n which are prime when concatenated and read as a decimal string.

%e The eight compositions of 4 are 4,13,31,22,112,121,211,1111 of which 3 {13,31,211} are primes.

%e Primes for n=11 are: 11, 29, 47, 83, 101, 137, 173, 191, 227, 263, 281, 317, 353, 443, 461, 641, 821, 911, 1163, 1181, ..., 131111111, 212111111, 1111111121, 1111211111, 1121111111.

%t f[n_] := If[n > 5 && Mod[n, 3] == 0, 0, Block[{len = PartitionsP@ n, p = IntegerPartitions[n], c = 0}, Do[c = c + Length@ Select[ FromDigits /@ Join @@@ IntegerDigits /@ Permutations@ p[[i]], PrimeQ@# &], {i, len}]; c]]; Array[f, 28] (* _Robert G. Wilson v_, Aug 03 2012 *)

%o (Python)

%o from sympy import isprime

%o from sympy.utilities.iterables import partitions, multiset_permutations

%o def a(n):

%o c = 0

%o for p in partitions(n):

%o plst = [k for k in p for _ in range(p[k])]

%o s = sum(sum(map(int, str(pi))) for pi in plst)

%o if s != 3 and s%3 == 0: continue

%o for m in multiset_permutations(plst):

%o if isprime(int("".join(map(str, m)))):

%o c += 1

%o return c

%o print([a(n) for n in range(1, 22)]) # _Michael S. Branicky_, Nov 19 2022

%o (Python)

%o from collections import Counter

%o from sympy.utilities.iterables import partitions, multiset_permutations

%o from sympy import isprime

%o def A116381(n): return sum(1 for p in partitions(n) for a in multiset_permutations(Counter(p).elements()) if isprime(int(''.join(str(d) for d in a)))) if n==3 or n%3 else 0 # _Chai Wah Wu_, Feb 21 2024

%Y Cf. A069869, A069870; not the same as A073901.

%K base,nonn,more

%O 1,2

%A _Robert G. Wilson v_, Feb 06 2006

%E a(29)-a(33) from _Michael S. Branicky_, Nov 19 2022

%E a(34)-a(36) from _Michael S. Branicky_, Jul 10 2023