login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A276735
Number of permutations p of (1..n) such that k+p(k) is a semiprime for 1 <= k <= n.
0
1, 0, 0, 1, 1, 3, 5, 12, 87, 261, 324, 1433, 5881, 37444, 196797, 708901, 2020836, 12375966, 105896734, 955344450, 11136621319, 95274505723, 590283352231, 4285001635230, 36417581252044, 272699023606314
OFFSET
0,6
EXAMPLE
a(4) = 1 because the permutation (3,4,1,2) added termwise to (1,2,3,4) yields (4,6,4,6) - both semiprimes - and only that permutation does so. a(5) = 3 because exactly 3 permutations - (3,2,1,5,4), (3,4,1,2,5) & (5,4,3,2,1) - added termwise to (1,2,3,4,5) yield semiprime entries.
From David A. Corneth, Sep 28 2016 (Start):
The semiprimes up to 10 are 4, 6, 9 and 10. To find a(5), we add (1,2,3,4,5) to some p. Therefore, p(1) in {3, 5}, p(2) in {2, 4}, p(3) in {1, 3}, p(4) in {2, 5} and p(5) in {1, 4, 5}.
If p(1) = 3 then p(3) must be 1. Then {p(2), p(4), p(5)} = {2, 4, 5} for which there are two possibilities.
If p(1) = 5 then p(3) = 3 and p(4) = 2. Then p(2) = 4 and p(5) = 1. So there's one permutation for which p(1) = 5.
This exhausts the options for p(1) and we found 3 permutations. Therefore, a(5) = 3. (End)
MAPLE
with(LinearAlgebra): with(numtheory):
a:= n-> `if`(n=0, 1, Permanent(Matrix(n, (i, j)->
`if`((s-> bigomega(s)=2)(i+j), 1, 0)))):
seq(a(n), n=0..16); # Alois P. Heinz, Sep 28 2016
MATHEMATICA
perms[n0_] :=
Module[{n = n0, S, func, T, T2},
S = Select[Range[2, 2*n], PrimeOmega[#] == 2 &];
func[k_] := Cases[S, x_ /; 1 <= x - k <= n] - k;
T = Tuples[Table[func[k], {k, 1, n}]];
T2 = Cases[T, x_ /; Length[Union[x]] == Length[x]];
Length[T2]]
Table[perms[n], {n, 0, 12}]
(* Second program (version >= 10): *)
a[0] = 1; a[n_] := Permanent[Table[Boole[PrimeOmega[i + j] == 2], {i, 1, n}, {j, 1, n}]]; Table[an = a[n]; Print[an]; an, {n, 0, 20}] (* Jean-François Alcover, Jul 25 2017 *)
PROG
(PARI) isok(va, vb)=my(v = vector(#va, j, va[j]+vb[j])); #select(x->(bigomega(x) == 2), v) == #v;
a(n) = my(vpo = numtoperm(n, 1)); sum(k=1, n!, vp = numtoperm(n, k); isok(vp, vpo)); \\ Michel Marcus, Sep 24 2016
(PARI) listA001358(lim)=my(v=List()); forprime(p=2, sqrtint(lim\1), forprime(q=p, lim\p, listput(v, p*q))); Set(v)
has(v)=for(k=1, #v, if(!setsearch(semi, v[k]+k), return(0))); 1
a(n)=local(semi=listA001358(2*n)); sum(k=1, n!, has(numtoperm(n, k))) \\ Charles R Greathouse IV, Sep 28 2016
(PARI) matperm(M)=my(n=matsize(M)[1], innerSums=vectorv(n)); if(n==0, return(1)); sum(x=1, 2^n-1, my(k=valuation(x, 2), s=M[, k+1], gray=bitxor(x, x>>1)); if(bittest(gray, k), innerSums+=s, innerSums-=s); (-1)^hammingweight(gray)*factorback(innerSums))*(-1)^n
a(n)=matperm(matrix(n, n, x, y, bigomega(x+y)==2)) \\ Charles R Greathouse IV, Oct 03 2016
CROSSREFS
KEYWORD
nonn
AUTHOR
Gary E. Davis, Sep 24 2016
EXTENSIONS
More terms from Alois P. Heinz, Sep 28 2016
STATUS
approved