A345992 Let m = A344005(n) = smallest m such that n divides m*(m+1); a(n) = gcd(n,m).
1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 3, 1, 2, 5, 1, 1, 2, 1, 4, 3, 2, 1, 8, 1, 2, 1, 7, 1, 5, 1, 1, 11, 2, 7, 4, 1, 2, 3, 5, 1, 6, 1, 11, 9, 2, 1, 3, 1, 2, 17, 4, 1, 2, 5, 7, 3, 2, 1, 15, 1, 2, 9, 1, 5, 11, 1, 4, 23, 14, 1, 8, 1, 2, 3, 19, 7, 6, 1, 5, 1, 2, 1, 4, 17, 2, 29, 8, 1, 9, 13, 23, 3, 2, 19, 32, 1, 2, 11, 4, 1, 17
Offset: 1
Keywords
Links
- N. J. A. Sloane, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
Maple
# load Findm from A344005 ans:=[]; for n from 1 to 40 do t1:=Findm(n)[1]; ans:=[op(ans), igcd(n,t1)]; od: ans;
-
Mathematica
smd[n_]:=Module[{m=1},While[Mod[m(m+1),n]!=0,m++];GCD[n,m]]; Array[smd,110] (* Harvey P. Dale, Jan 07 2022 *)
-
PARI
f(n) = my(m=1); while ((m*(m+1)) % n, m++); m; \\ A344005 a(n) = gcd(n,f(n)); \\ Michel Marcus, Aug 06 2021 (Python 3.8+) from math import gcd, prod from itertools import combinations from sympy import factorint from sympy.ntheory.modular import crt def A345992(n): if n == 1: return 1 plist = tuple(p**q for p, q in factorint(n).items()) return 1 if len(plist) == 1 else gcd(n,int(min(min(crt((m, n//m), (0, -1))[0], crt((n//m, m), (0, -1))[0]) for m in (prod(d) for l in range(1, len(plist)//2+1) for d in combinations(plist, l))))) # Chai Wah Wu, Jun 01 2022
Comments