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.

Showing 1-1 of 1 results.

A344590 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.

Original entry on oeis.org

1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 2, 2, 1, 1, 4, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 3, 1, 1, 1, 1, 2
Offset: 1

Views

Author

Antti Karttunen, May 31 2021

Keywords

Examples

			36 has 9 divisors: 1, 2, 3, 4, 6, 9, 12, 18, 36. When A011772 is applied to them, one obtains values [1, 3, 2, 7, 3, 8, 8, 8, 8], thus there are four divisors that obtain the maximal value 8 obtained at 36 itself, therefore a(36) = 4.
		

Crossrefs

Cf. A000005, A011772, A344588 (positions of records), A344589, A344758, A344770, A344881 (positions of ones), A344882 (of terms > 1).

Programs

  • Mathematica
    A011772[n_] := Module[{m = 1}, While[Not[IntegerQ[m(m+1)/(2n)]], m++]; m];
    a[n_] := With[{m = A011772[n]}, Count[Divisors[n], d_ /; A011772[d] == m]];
    Array[a, 100] (* Jean-François Alcover, Jun 12 2021 *)
  • PARI
    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
    A344590(n) = { my(x=A011772(n)); sumdiv(n,d,A011772(d)==x); };
    
  • Python
    from itertools import combinations
    from functools import reduce
    from operator import mul
    from sympy import factorint, divisors
    from sympy.ntheory.modular import crt
    def A011772(n):
        plist = [p**q for p, q in factorint(2*n).items()]
        if len(plist) == 1:
            return n-1 if plist[0] % 2 else 2*n-1
        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)))
    def A344590(n):
        m = A011772(n)
        return sum(1 for d in divisors(n) if A011772(d) == m) # Chai Wah Wu, Jun 02 2021

Formula

a(n) = Sum_{d|n} [A011772(d) = A011772(n)], where [ ] is the Iverson bracket.
a(n) = A000005(n) - A344589(n).
a(n) <= A344770(n).
Showing 1-1 of 1 results.