This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A266989 #27 Feb 09 2016 20:50:02 %S A266989 31,43,67,223,379,491,619,631,643,683,859,883,907,1051,1091,1423,1747, %T A266989 1987,2143,2347,2371,2467,2531,2767,3307,3643,3691,3739,3823,3931, %U A266989 4019,4219,4519,4691,4987,5059,5107,5347,5683,5827,6043 %N A266989 Primes for which the average of the primitive roots is < p/2. %C A266989 These primes are congruent to 3 (mod 4). %H A266989 Robert Israel, <a href="/A266989/b266989.txt">Table of n, a(n) for n = 1..1000</a> %F A266989 a(n) = prime(A266988(n)). %e A266989 a(1)=31. The primitive roots of 31 are 3, 11, 12, 13, 17, 21, 22, and 24. %e A266989 Their average is (3+11+12+13+17+21+22+24)/phi(30)=123/8<31/2. %p A266989 f:= proc(p) local g; %p A266989 if not isprime(p) then return false fi; %p A266989 g:= numtheory[primroot](p); %p A266989 evalb(add(g&^i mod p, i = select(t->igcd(t,p-1)=1, [$1..p-2])) %p A266989 < p/2 * numtheory:-phi(p-1)) %p A266989 end proc: %p A266989 select(f, [seq(i,i=3..10000,4)]); # _Robert Israel_, Feb 09 2016 %t A266989 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 &)]]] %o A266989 (PARI) ar(p) = my(r, pr, j); r=vector(eulerphi(p-1)); pr=znprimroot(p); for(i=1, p-1, if(gcd(i, p-1)==1, r[j++]=lift(pr^i))); vecsort(r) ; %o A266989 isok(p) = my(vr = ar(p)); vecsum(vr)/#vr < p/2; %o A266989 lista(nn) = forprime(p=2, nn, if (isok(p), print1(p, ", "))); \\ _Michel Marcus_, Feb 09 2016 %Y A266989 Cf. A008330, A060749, A088144, A266987, A266988, A267010. %K A266989 nonn %O A266989 1,1 %A A266989 _Dimitri Papadopoulos_, Jan 08 2016