| 可读性可能不那么好,代码需要 1.1秒钟. 局部地方有重复逻辑,是可以进一步优化速度的,比较懒,暂时先这样吧.
 
 复制代码pool = Table[{i,Select[FromDigits /@ Permutations[Range[9], {i}], PrimeQ]}, {i, 1,8}];
ans = GroupBy[
   Flatten[Table[
     Union[Sort /@ 
       Lookup[NestWhile[
          GroupBy[Join[Lookup[#, True, {}], 
             Flatten[Table[
               Flatten[Table[{Flatten[{p[[1]], t}], 
                  Complement[p[[2]], 
                   Flatten[IntegerDigits /@ {p[[1]], t}]]}, {len, 
                  Flatten[{Range[IntegerLength[p[[1, -1]]], 
                    Length[p[[2]]]/2], Length[p[[2]]]}]}, {t, 
                  Select[FromDigits /@ 
                    Permutations[
                    Complement[p[[2]], 
                    Flatten[IntegerDigits /@ {p[[1]], t}]], {len}], 
                   PrimeQ]}], 1], {p, Lookup[#, False, {}]}], 
              1]], #[[2]] == {} &] &, 
          GroupBy[Table[{{i}, Complement[Range[9], IntegerDigits[i]]}, {i, pool[[m, 2]]}], #[[2]] == {} &], 
          Lookup[#, False, {}] != {} &], True, {}][[All, 1]]], {m, 1,  4}], 1], Map[IntegerLength, #] &];
Length /@ ans
 
 复制代码{{{1,8},11483},{{1,1,7},2052},{{1,2,6},2482},{{1,3,5},2049},{{1,4,4},942},{{1,1,1,6},205},{{1,1,2,5},646},{{1,1,3,4},449},{{1,2,2,4},410},{{1,2,3,3},292},{{1,1,1,1,5},13},{{1,1,1,2,4},54},{{1,1,1,3,3},20},{{1,1,2,2,3},82},{{1,2,2,2,2},8},{{1,1,1,1,2,3},2},{{1,1,1,2,2,2},3},{{2,7},8844},{{2,2,5},535},{{2,3,4},945},{{2,2,2,3},32},{{3,6},6572},{{3,3,3},136},{{4,5},6424}}
 |