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 #10 Jul 09 2022 15:29:03
%S 1,2,4,6,12,24,36,48,72,144,288,432,864,1728,2592,3456,5184,10368,
%T 20736,31104,41472,62208,124416,248832,373248,746496,1492992,2239488,
%U 2985984,4478976,8957952,17915904,26873856,53747712,107495424,161243136,214990848,322486272
%N Numbers k such that A072079(k)/k sets a new record.
%C Numbers m such that A072079(m)/m > A072079(k)/k for all k < m.
%C All the terms are 3-smooth numbers (A003586).
%C Equivalently, 3-smooth numbers k such that A000203(k)/k sets a new record.
%C Analogous to superabundant numbers (A004394) with 3-smooth numbers only.
%H Michael S. Branicky, <a href="/A355579/b355579.txt">Table of n, a(n) for n = 1..4370</a>
%F Limit_{n->oo} A072079(a(n))/a(n) = lim_{n->oo} A000203(a(n))/a(n) = 3.
%e The numbers of 3-smooth divisors of the first 6 positive integers are 1, 3, 4, 7, 1 and 12. The corresponding values of A072079(k)/k are 1, 3/2, 4/3, 7/4, 1/5 and 2. The record values, 1, 3/2, 7/4 and 2, occur at 1, 2, 4 and 6, the first 4 terms of this sequence.
%t s[n_] := Module[{e = IntegerExponent[n, {2, 3}], p}, p = {2, 3}^e; If[Times @@ p == n, (2^(e[[1]] + 1) - 1)*(3^(e[[2]] + 1) - 1)/(2*n), 0]]; sm = 0; seq = {}; Do[sn = s[n]; If[sn > sm, sm = sn; AppendTo[seq, n]], {n, 1, 10^6}]; seq
%o (PARI) lista(nmax) = {my(list = List(), rmax = 0, e2, e3, r); for(n = 1, nmax, e2 = valuation(n, 2); e3 = valuation(n, 3); r = if(2^e2 * 3^e3 == n, (2^(e2 + 1) - 1)*(3^(e3 + 1) - 1)/(2*n), 0); if(r > rmax, rmax = r; listput(list, n))); Vec(list)};
%o (Python)
%o from fractions import Fraction
%o from sympy import multiplicity as v
%o from itertools import count, takewhile
%o def f(n): return Fraction((2**(v(2, n)+1)-1) * (3**(v(3, n)+1)-1)//2, n)
%o def smooth3(lim):
%o pows2 = list(takewhile(lambda x: x<lim, (2**i for i in count(0))))
%o pows3 = list(takewhile(lambda x: x<lim, (3**i for i in count(0))))
%o return sorted(c*d for c in pows2 for d in pows3 if c*d <= lim)
%o def aupto(lim):
%o data, records, record = smooth3(lim), [], -1
%o for argv, v in zip(data, map(f, data)):
%o if v > record: record = v; records.append(argv)
%o return records
%o print(aupto(10**9)) # _Michael S. Branicky_, Jul 08 2022
%Y Subsequence of A003586 and A355578.
%Y Cf. A000203, A004394, A072079.
%K nonn
%O 1,2
%A _Amiram Eldar_, Jul 08 2022