cp's OEIS Frontend

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.

A344589 Number of divisors d of n for which A011772(d) < A011772(n), where A011772(n) is the smallest number m such that m(m+1)/2 is divisible by n.

This page as a plain text file.
%I A344589 #13 Jun 05 2021 16:42:41
%S A344589 0,1,1,2,1,2,1,3,2,2,1,5,1,3,3,4,1,4,1,5,2,3,1,6,2,2,3,3,1,7,1,5,3,2,
%T A344589 3,5,1,3,2,5,1,7,1,5,5,3,1,9,2,4,3,5,1,7,2,7,2,2,1,9,1,3,5,6,3,5,1,3,
%U A344589 3,7,1,11,1,2,4,5,3,4,1,9,4,2,1,11,3,3,3,6,1,11,3,4,2,3,3,10,1,4,5,6,1,7,1,7,6
%N A344589 Number of divisors d of n for which A011772(d) < A011772(n), where A011772(n) is the smallest number m such that m(m+1)/2 is divisible by n.
%H A344589 Antti Karttunen, <a href="/A344589/b344589.txt">Table of n, a(n) for n = 1..65537</a>
%F A344589 a(n) = Sum_{d|n} [A011772(d) < A011772(n)], where [ ] is the Iverson bracket.
%F A344589 a(n) = A000005(n) - A344590(n).
%o A344589 (PARI)
%o A344589 A011772(n) = { if(n==1, return(1)); my(f=factor(if(n%2, n, 2*n)), step=vecmax(vector(#f~, i, f[i, 1]^f[i, 2]))); forstep(m=step, 2*n, step, if(m*(m-1)/2%n==0, return(m-1)); if(m*(m+1)/2%n==0, return(m))); }; \\ From A011772
%o A344589 A344589(n) = { my(x=A011772(n)); sumdiv(n,d,A011772(d)<x); };
%o A344589 (Python)
%o A344589 from itertools import combinations
%o A344589 from functools import reduce
%o A344589 from operator import mul
%o A344589 from sympy import factorint, divisors
%o A344589 from sympy.ntheory.modular import crt
%o A344589 def A011772(n):
%o A344589     plist = [p**q for p, q in factorint(2*n).items()]
%o A344589     if len(plist) == 1:
%o A344589         return n-1 if plist[0] % 2 else 2*n-1
%o A344589     return min(min(crt([m,2*n//m],[0,-1])[0],crt([2*n//m,m],[0,-1])[0]) for m in (reduce(mul, d) for l in range(1,len(plist)//2+1) for d in combinations(plist,l)))
%o A344589 def A344589(n):
%o A344589     m = A011772(n)
%o A344589     return sum(1 for d in divisors(n) if A011772(d) < m) # _Chai Wah Wu_, Jun 02 2021
%Y A344589 Cf. A000005, A011772, A344590.
%K A344589 nonn
%O A344589 1,4
%A A344589 _Antti Karttunen_, Jun 01 2021