login
Number of primitive roots modulo n.
24

%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_