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 A023049 #24 Nov 11 2024 22:25:19 %S A023049 2,3,5,0,7,11,11,11,0,17,13,17,19,17,19,0,23,29,23,23,23,31,47,31,0, %T A023049 29,29,41,41,41,47,37,43,41,37,0,59,47,47,47,47,59,47,47,47,67,59,53, %U A023049 0,53,53,59,71,59,59,59,67,73,61,73,67,71,67,0,71,79,71,71,71,79,83,83,83,79 %N A023049 Smallest prime > n having primitive root n, or 0 if no such prime exists. %C A023049 Indices of record values of a(n)-n are (1, 2, 3, 6, 10, 18, 23, 78, 102, 105, 488, 652, 925, ...). Record values of a(n)/n are 3/2, 5/3, 11/6, 47/23, ... (Is there another n with a(n) > 2n ?) - _M. F. Hasler_, Feb 21 2017 %H A023049 Robert Israel, <a href="/A023049/b023049.txt">Table of n, a(n) for n = 1..10000</a> %F A023049 a(n) = 0 iff n is a square > 1. - _M. F. Hasler_, Feb 21 2017 %p A023049 f:= proc(n) local p; %p A023049 if issqr(n) then return 0 fi; %p A023049 p:= nextprime(n); %p A023049 do %p A023049 if numtheory:-order(n,p) = p-1 then return p fi; %p A023049 p:= nextprime(p); %p A023049 od %p A023049 end proc: %p A023049 f(1):= 2: %p A023049 map(f, [$1..100]); # _Robert Israel_, Feb 21 2017 %t A023049 a[n_] := For[p = 2, p <= 2 n + 1, p = NextPrime[p], If[MemberQ[ PrimitiveRootList[p], n], Return[p]]] /. Null -> 0; Array[a, 100] (* _Jean-François Alcover_, Mar 05 2019 *) %o A023049 (PARI) A023049(n)={issquare(n)||forprime(p=n+1,,znorder(Mod(n,p))==p-1&&return(p));(n==1)*2} \\ _M. F. Hasler_, Feb 21 2017 %Y A023049 See also A056619, where the primitive root may be larger than the prime, whereas in A023049 it may not be. %Y A023049 Cf. A377938, A377939. %K A023049 nonn %O A023049 1,1 %A A023049 _David W. Wilson_