Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #43 Dec 02 2021 20:25:23
%S 1,2,3,4,5,12,13,14,15,18,19,26,27,30,53,54,55,100,101,180,203,210,
%T 211,378,379,382,383,1092,1093,2020,2021,2022,3933,3956,6473,10226,
%U 10227,10266,10561,20948,20949
%N Number of subsets of {1..n} whose harmonic mean is an integer.
%C For terms listed in the Data section: a(p^k) = a(p^k-1) + 1, where p prime (empirical observation). - _Ilya Gutkovskiy_, Dec 06 2020
%C From _Chai Wah Wu_, Dec 14 2020: (Start)
%C The above empirical observation is true.
%C Theorem: For prime p, a(p^k) = a(p^k-1)+1.
%C Proof: Since the singleton set {x} has harmonic mean x, a(n) >= a(n-1)+1.
%C Let S = {s_1,s_2,..,s_n} be a subset of {1,2,..,p^k} with n>1 elements such that s_n = p^k and let H be the harmonic mean of S. Let M = A003418(p^k) be the least common multiple of {1,2,..,p^k}. Then M = Wp^k where p does not divide W = A002944(p^k).
%C Let Q_i = M/s_i and Q = sum_i Q_i. This implies that Q_n = W and p divides Q_i for i < n.
%C H can be written as nM/Q. Since p does not divide W, this implies that p does not divide Q. Suppose H is an integer. Then this implies that Q divides nM/p^k = nW.
%C Note that s_i < s_n for i < n. This implies that Q_i > W for i < n, i.e. Q > nW, and this contradicts the fact that Q divides nW and thus H is not an integer.
%C Thus {p^k} is the only subset of {1,2,..,p^k} that includes p^k and have an integral Harmonic mean.
%C This concludes the proof.
%C (End)
%H Eric W. Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/HarmonicMean.html">Harmonic Mean</a>
%F a(n) >= a(n-1)+1. For prime p, a(p^k) = a(p^k-1)+1. - _Chai Wah Wu_, Dec 14 2020
%e a(6) = 12 subsets: {1}, {2}, {3}, {4}, {5}, {6}, {2, 6}, {3, 6}, {1, 3, 6}, {2, 3, 6}, {3, 4, 6} and {1, 2, 3, 6}.
%o (Python)
%o from itertools import chain, combinations
%o from fractions import Fraction
%o def powerset(s): # skip empty set
%o return chain.from_iterable(combinations(s, r) for r in range(1,len(s)+1))
%o def hm(s):
%o ss = sum(Fraction(1, i) for i in s)
%o return Fraction(len(s)*ss.denominator, ss.numerator)
%o def a(n):
%o return sum(hm(s).denominator==1 for s in powerset(range(1,n+1)))
%o print([a(n) for n in range(1, 16)]) # _Michael S. Branicky_, Dec 06 2020
%o (Python)
%o from math import lcm
%o from itertools import combinations
%o def A339453(n):
%o m = lcm(*range(2,n+1))
%o return sum(1 for i in range(1,n+1) for d in combinations((m//i for i in range(1,n+1)),i) if m*i % sum(d) == 0) # _Chai Wah Wu_, Dec 02 2021
%Y Cf. A002944, A003418, A051293, A067540, A246655, A326027, A339454.
%K nonn,more
%O 1,2
%A _Ilya Gutkovskiy_, Dec 05 2020
%E a(23)-a(29) from _Michael S. Branicky_, Dec 06 2020
%E a(30)-a(35) from _Chai Wah Wu_, Dec 08 2020
%E a(36)-a(39) from _Chai Wah Wu_, Dec 11 2020
%E a(40)-a(41) from _Chai Wah Wu_, Dec 19 2020