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.

A348719 Numbers k delivering the records in the number of partitions of divisors of k into two sets of size > 1 with an integer arithmetic mean in each set.

Original entry on oeis.org

1, 6, 12, 18, 20, 24, 30, 42, 48, 60, 120, 180, 240, 360, 420, 480, 504, 540, 630, 720, 840, 1080, 1260, 1440, 1680, 2160, 2520, 5040, 7560, 10080, 15120, 20160
Offset: 1

Views

Author

Amiram Eldar, Oct 31 2021

Keywords

Comments

The corresponding record values are 0, 1, 3, 4, 6, 16, 20, 21, 29, 198, 1542, 3448, 9055, 86081, 245107, 245145, 245336, 249208, 250595, 4844170, 31669733, ...

Examples

			6 is the smallest number whose set of divisors can be partitioned into two disjoint sets whose arithmetic means are both integers: {1, 3} and {2, 6}.
12 is the smallest number whose set of divisors can be partitioned into two disjoint sets whose arithmetic means are both integers in three ways: ({1, 3}, {2, 4, 6, 12}), ({2, 6}, {1, 3, 4, 12}) and ({4, 12}, {1, 2, 3, 6}).
		

Crossrefs

Programs

  • Mathematica
    q[d_] := Length[d] > 1 && IntegerQ @ Mean[d]; c[n_] := Count[Subsets[(d = Divisors[n])], _?(q[#] && q[Complement[d, #]] &)]/2; cm = -1; s = {}; Do[If[(c1 = c[n]) > cm, cm = c1; AppendTo[s, n]], {n, 1, 240}]; s
  • Python
    from itertools import count, islice, combinations
    from sympy import divisors
    def A348719_gen(): # generator of terms
        c = 0
        yield 1
        for n in count(2):
            divs = tuple(divisors(n, generator=True))
            l, b = len(divs), sum(divs)
            if l>=4 and 2**(l-1)-l>c:
                m = sum(1 for k in range(2,(l-1>>1)+1) for p in combinations(divs,k) if not ((s:=sum(p))%k or (b-s)%(l-k)))
                if l&1 == 0:
                    k = l>>1
                    m += sum(1 for p in combinations(divs,k) if 1 in p and not ((s:=sum(p))%k or (b-s)%k))
                if m > c:
                    yield n
                    c = m
    A348719_list = list(islice(A348719_gen(),10)) # Chai Wah Wu, Sep 24 2023

Extensions

a(22)-a(23) from Chai Wah Wu, Sep 24 2023
a(24) from Chai Wah Wu, Sep 26 2023
a(25)-a(32) added and definition corrected by Max Alekseyev, Feb 01 2024