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-4 of 4 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).

A344759 a(n) = n divided by the smallest divisor 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, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 3, 1, 2, 1, 7, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 5, 1, 3, 2, 1, 3, 1, 1, 1, 1, 1, 3, 1, 4, 1, 1, 1, 1, 1, 2, 3, 1, 1, 6, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 3, 1, 1, 3, 1, 2, 1, 4, 1, 1, 1, 1, 3
Offset: 1

Views

Author

Antti Karttunen, Jun 01 2021

Keywords

Comments

It seems that A006516 gives the positions of records after its initial zero.

Crossrefs

Cf. A006516, A011772, A344758, A344881 (positions of ones), A344882 (of terms > 1).

Programs

  • 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
    A344759(n) = { my(x=A011772(n)); fordiv(n,d,if(A011772(d)==x, return(n/d))); };
    (Python 3.8+)
    from itertools import combinations
    from math import prod
    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 (prod(d) for l in range(1,len(plist)//2+1) for d in combinations(plist,l)))
    def A344759(n):
        m = A011772(n)
        for d in divisors(n):
            if A011772(d) == m:
                return n//d # Chai Wah Wu, Jun 03 2021

Formula

a(n) = n / A344758(n).

A346088 Smallest divisor d of n for which A002034(d) = A002034(n), where A002034(n) is the smallest positive integer k such that k! is a multiple of n.

Original entry on oeis.org

1, 2, 3, 4, 5, 3, 7, 4, 9, 5, 11, 4, 13, 7, 5, 16, 17, 9, 19, 5, 7, 11, 23, 4, 25, 13, 27, 7, 29, 5, 31, 32, 11, 17, 7, 9, 37, 19, 13, 5, 41, 7, 43, 11, 9, 23, 47, 16, 49, 25, 17, 13, 53, 27, 11, 7, 19, 29, 59, 5, 61, 31, 7, 32, 13, 11, 67, 17, 23, 7, 71, 9, 73, 37, 25, 19, 11, 13, 79, 16, 27, 41, 83, 7, 17, 43, 29, 11, 89
Offset: 1

Views

Author

Antti Karttunen, Jul 05 2021

Keywords

Examples

			36 has 9 divisors: 1, 2, 3, 4, 6, 9, 12, 18, 36. When A002034 is applied to them, one obtains values [1, 2, 3, 4, 3, 6, 4, 6, 6], thus there are three divisors that obtain the maximal value 6 obtained at 36 itself, of which divisor 9 is the smallest, and therefore a(36) = 9.
		

Crossrefs

Cf. also A344758.
Differs from A223491 for the first time at n=27, where a(27) = 27, while A223491(27) = 9.

Programs

  • PARI
    A002034(n) = if(1==n,n,my(s=factor(n)[, 1], k=s[#s], f=Mod(k!, n)); while(f, f*=k++); (k)); \\ After code in A002034.
    A346088(n) = { my(x=A002034(n)); fordiv(n,d,if(A002034(d)==x, return(d))); };

Formula

a(n) = n / A346089(n).

A354998 Smallest divisor d of n for which A344005(d) = A344005(n), where A344005(n) is the smallest positive integer m such that n divides m*(m+1).

Original entry on oeis.org

1, 1, 3, 4, 5, 3, 7, 8, 9, 5, 11, 4, 13, 7, 15, 16, 17, 9, 19, 5, 7, 11, 23, 24, 25, 13, 27, 28, 29, 15, 31, 32, 33, 17, 35, 9, 37, 19, 13, 40, 41, 7, 43, 44, 45, 23, 47, 16, 49, 25, 51, 13, 53, 27, 11, 8, 19, 29, 59, 60, 61, 31, 63, 64, 65, 33, 67, 17, 69, 35, 71, 9, 73, 37, 25, 76, 77, 13, 79, 16, 81, 41, 83, 84
Offset: 1

Views

Author

Antti Karttunen, Jun 17 2022

Keywords

Crossrefs

Programs

  • Mathematica
    s[n_] := Module[{m = 1}, While[! Divisible[m*(m + 1), n], m++]; m]; a[n_] := Module[{sn = s[n], ds = Divisors[n]}, Do[If[s[d] == sn, Return[d]], {d, ds}]]; Array[a, 100] (* Amiram Eldar, Jun 17 2022 *)
  • PARI
    A344005(n) = for(m=1, oo, if((m*(m+1))%n==0, return(m))); \\ From A344005
    A354998(n) = { my(x=A344005(n)); fordiv(n, d, if(A344005(d)==x, return(d))); };

Formula

a(n) = n / A354999(n).
Showing 1-4 of 4 results.