OFFSET
1,1
COMMENTS
From Robert Israel, Feb 01 2016: (Start)
Contains A002144 because for each of these primes, x is a primitive root iff p-x is a primitive root. (End)
LINKS
Robert Israel, Table of n, a(n) for n = 1..8213
FORMULA
a(n) = prime(A266986(n)).
EXAMPLE
a(13) = 13 since the primitive roots of 13 are 2, 6, 7, and 11 and the average of these primitive roots is (2+6+7+11)/phi(12) = 26/4 = 13/2.
MAPLE
proots := proc(n)
local r, eulphi, m;
if n = 1 then
return {0} ;
end if;
eulphi := numtheory[phi](n) ;
r := {} ;
for m from 0 to n-1 do
if numtheory[order](m, n) = eulphi then
r := r union {m} ;
end if;
end do:
return r;
end proc:
isA266987 := proc(n)
local r;
if isprime(n) then
r := convert(proots(n), list) ;
2*add(pr, pr=r) = n*nops(r) ;
else
false;
end if;
end proc:
for n from 1 to 500 do
if isA266987(n) then
printf("%d, ", n);
end if;
end do: # R. J. Mathar, Jan 12 2016
Filter:= proc(p) local x, s, js;
if p mod 4 = 1 then return true fi;
x:= numtheory:-primroot(p);
js:= select(t -> igcd(t, p-1)=1, [$1..p-2]);
s:= add(x&^ j mod p, j=js);
evalb(s = p/2 * nops(js))
end proc:
select(Filter, [seq(ithprime(i), i=1..1000)]); # Robert Israel, Feb 01 2016
MATHEMATICA
A = Table[Total[Flatten[Position[Table[MultiplicativeOrder[i, Prime[k]], {i, Prime[k] - 1}], Prime[k] - 1]]]/(EulerPhi[Prime[k] - 1] Prime[k]/2), {k, 1, 100}]; Prime[Flatten[Position[A, _?(# == 1 &)]]]
(* second program (version >= 10): *)
Select[Prime[Range[100]], Mean[PrimitiveRootList[#]] == #/2&] (* Jean-François Alcover, Jan 12 2016 *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Dimitri Papadopoulos, Jan 08 2016
STATUS
approved