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”).
%I #52 Jan 13 2022 20:21:20
%S 1,1,1,1,2,1,2,0,2,2,4,0,4,2,0,0,8,2,6,0,0,4,10,0,8,4,6,0,12,0,8,0,0,
%T 8,0,0,12,6,0,0,16,0,12,0,0,10,22,0,12,8,0,0,24,6,0,0,0,12,28,0,16,8,
%U 0,0,0,0,20,0,0,0,24,0,24,12,0,0,0,0,24,0,18,16,40,0,0,12,0,0,40,0,0
%N Number of primitive roots modulo n.
%H T. D. Noe, <a href="/A046144/b046144.txt">Table of n, a(n) for n = 1..10000</a>
%H S. R. Finch, <a href="https://arxiv.org/abs/math/0605019">Idempotents and Nilpotents Modulo n</a>, arXiv:math/0605019 [math.NT], 2006-2017.
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/PrimitiveRoot.html">Primitive Root.</a>
%F a(n) is equal to A010554(n) unless n is a term of A033949, in which case a(n)=0.
%p A046144 := proc(n)
%p local a,eulphi,m;
%p if n = 1 then
%p return 1;
%p end if;
%p eulphi := numtheory[phi](n) ;
%p a := 0 ;
%p for m from 0 to n-1 do
%p if numtheory[order](m,n) = eulphi then
%p a := a + 1 ;
%p end if;
%p end do:
%p a;
%p end proc: # _R. J. Mathar_, Jan 12 2016
%t Prepend[ Table[ If[ IntegerQ[ PrimitiveRoot[n]] , EulerPhi[ EulerPhi[n]], 0], {n, 2, 91}],1] (* _Jean-François Alcover_, Sep 13 2011 *)
%o (PARI) for(i=1, 100, p=0; for(q=1, i, if(gcd(q,i)==1 && znorder(Mod(q,i)) == eulerphi(i), p++)); print1(p, ", ")) /* _V. Raman_, Nov 22 2012 */
%o (PARI) a(n) = my(s=znstar(n)); if(#(s.cyc)>1, 0, eulerphi(s.no)) \\ _Jeppe Stig Nielsen_, Oct 18 2019
%o (Perl) use ntheory ":all"; my @A = map { !defined znprimroot($_) ? 0 : euler_phi(euler_phi($_)); } 0..10000; say "$_ $A[$_]" for 1..$#A; # _Dana Jacobsen_, Apr 28 2017
%Y Cf. A001918, A010554, A033949, A046145, A046146, A008330, A002233, A071894, A219027.
%K nonn
%O 1,5
%A _Eric W. Weisstein_