A306252 Least primitive root mod A033948(n).
0, 1, 2, 3, 2, 5, 3, 2, 3, 2, 2, 3, 3, 5, 2, 7, 5, 2, 7, 2, 2, 3, 3, 2, 3, 6, 3, 5, 5, 3, 3, 2, 5, 3, 2, 2, 3, 2, 7, 5, 5, 3, 2, 7, 2, 3, 3, 5, 5, 3, 2, 5, 3, 2, 6, 3, 11, 2, 7, 2, 3, 2, 7, 3, 2, 7, 5, 2, 6, 5, 3, 5, 2, 5, 5, 2, 2, 3, 2, 2, 19, 5, 5, 2, 3, 3, 5
Offset: 1
Keywords
Examples
For n=2, A033948(2) = 2, U(2) is generated by 1. For n=14, A033948(14) = 18, and U(18) is generated by both 5 and 11; here we select the smallest generator, 5, so a(14) = 5.
Links
- Robert Israel, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
Maple
0,op(subs(FAIL=NULL, map(numtheory:-primroot,[$2..1000]))); # Robert Israel, Mar 10 2019
-
Mathematica
Array[Take[PrimitiveRootList@ #, UpTo[1]] &, 210] // Flatten (* Michael De Vlieger, Feb 02 2019 *)
-
Python
from math import gcd roots = [0] for n in range(2,140): # find U(n) un = [i for i in range(1,n) if gcd(i,n) == 1] # for each element in U(n), check if it's a generator order = len(un) is_cyclic = False for cand in un: is_gen = True run = 1 # If it cand^x = 1 for some x < order, it's not a generator for _ in range(order-1): run = (run * cand) % n if run == 1: is_gen = False break if is_gen: roots.append(cand) is_cyclic = True break print(roots)
Extensions
More terms from Michael De Vlieger, Feb 02 2019
Edited by N. J. A. Sloane, Mar 10 2019
Edited by Robert Israel, Mar 10 2019
Comments