A348716 Numbers whose divisors can be partitioned into two disjoint sets without singletons whose harmonic means are both integers in a record number of ways.
1, 12, 24, 60, 84, 120, 240, 360, 420, 672, 840, 1260, 1680, 2160, 2520, 3360, 6720, 7560, 10080, 15120, 21840, 27720, 30240, 50400, 60480, 65520, 83160, 98280, 110880, 131040
Offset: 1
Examples
12 is the smallest number whose set of divisors can be partitioned into two disjoint sets whose harmonic means are both integers: {1, 2, 3, 6} and {4, 12}. 24 is the smallest number whose set of divisors can be partitioned into two disjoint sets whose harmonic means are both integers in three ways: ({3, 6}, {1, 2, 4, 8, 12, 24}), ({1, 3, 6}, {2, 4, 8, 12, 24}) and ({1, 2, 3, 6}, {4, 8, 12, 24}). From _David A. Corneth_, Sep 25 2023: (Start) For n = 24 we have tau(n) = tau(24) = 8 and sigma(n) = sigma(24) = 60. Therefore we look for (|v1|*24) / (h1*24) and ((8-|v1|)*24) / (60 - h1*24) both integers. It turns out that the pairs (|v1|, 24*h1) in {(2, 12), (2, 24), (2, 48), (3, 36), (4, 12)} (omitting conjugates) give integers. The divisors of 24 are 1, 2, 3, 4, 6, 8, 12, 24. (2, 12) gives the sum 4 + 8; a sum of two distinct divisors of 24 summing to 12. (2, 24) gives no solution, likewise (2, 48) does not. From (3, 36) we get 4 + 8 + 24 and from (4, 12) we get 1 + 2 + 3 + 6. And indeed these correspond to 2/(8/24 + 4/24) = 2/(1/3 + 1/6), 3/(24/24 + 8/24 + 4/24) = 3/(1 + 1/3 + 1/6) and 4/(24/24 + 12/24 + 8/24 + 4/24) = 4/(1 + 1/2 + 1/3 + 1/6). (End)
Crossrefs
Cf. A348715.
Programs
-
Mathematica
q[d_] := Length[d] > 1 && IntegerQ@HarmonicMean[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 fractions import Fraction from itertools import count, islice, combinations from sympy import divisors def A348716_gen(): # generator of terms c = 0 yield 1 for n in count(2): divs = tuple(divisors(n, generator=True)) l, b = len(divs), sum(Fraction(1,d) for d in 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(Fraction(1,d) for d in p)).denominator*k%(s.numerator) or (r:=b-s).denominator*(l-k)%(r.numerator))) if l&1 == 0: k = l>>1 m += sum(1 for p in combinations(divs,k) if 1 in p and not ((s:=sum(Fraction(1,d) for d in p)).denominator*k%(s.numerator) or (r:=b-s).denominator*k%(r.numerator))) if m > c: yield n c = m A348716_list = list(islice(A348716_gen(),5)) # Chai Wah Wu, Sep 24 2023
Extensions
a(11) from Chai Wah Wu, Sep 25 2023
a(12)-a(27) from David A. Corneth, Sep 25 2023
a(28)-a(30) from Max Alekseyev, Feb 03 2024
Comments