Oh, this I did not notice. OK, my complete code for your function now reads:
pQ[0] = pQ[1] = 0; (* not prime *)
pQ[2] = 1; (* prime *)
pQ[k_] := If[OddQ[k],
With[{n = k - 1}, -Floor[(2 (-1 + 2^n n))/(3 - (-1)^n + 2 n)] + Floor[(2 (1 + 2^n n))/(3 - (-1)^n + 2 n)]], 0]
Looks great! But if you try more numbers, I am afraid it does not work, e.g.:
Select[{#, pQ[#] == Boole[PrimeQ[#]]} & /@ Range[1000], (! Last[#]) &]
(* Out: {{341,False},{561,False},{645,False}} *)