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.

A128555 a(n) = the smallest positive multiple of d(n) that does not occur earlier in the sequence, where d(n) is the number of positive divisors of n.

Original entry on oeis.org

1, 2, 4, 3, 6, 8, 10, 12, 9, 16, 14, 18, 20, 24, 28, 5, 22, 30, 26, 36, 32, 40, 34, 48, 15, 44, 52, 42, 38, 56, 46, 54, 60, 64, 68, 27, 50, 72, 76, 80, 58, 88, 62, 66, 78, 84, 70, 90, 21, 96, 92, 102, 74, 104, 100, 112, 108, 116, 82, 120, 86, 124, 114, 7, 128, 136, 94, 126
Offset: 1

Views

Author

Leroy Quet, Mar 10 2007

Keywords

Comments

This sequence is a permutation of the positive integers.
a(2^(p+1)) = p, where p is prime. - Michael De Vlieger, Dec 07 2022

Examples

			8 has 4 positive divisors. So a(8) is the smallest positive multiple of 4 that has yet to appear in the sequence. 4 and 8 occur among the first 7 terms of the sequence, but 12 does not. So a(8) = 12.
		

Crossrefs

Cf. A000005, A128556, A358820 (inverse).

Programs

  • Maple
    A128555 := proc(nmin) local a,n,d,k ; a := [1,2] ; while nops(a) < nmin do n := nops(a)+1 ; d := numtheory[tau](n) ; k := 1; while k*d in a do k := k+1 ; od; a := [op(a),k*d] ; od: RETURN(a) ; end: A128555(80) ; # R. J. Mathar, Oct 09 2007
  • Mathematica
    a = {1}; Do[AppendTo[a, Min[Complement[Range[Max[a] + 1]*DivisorSigma[0,n], a]]], {n, 2, 68}]; a (* Ivan Neretin, May 03 2015 *)
    nn = 120; c[] = False; q[] = 1; Do[d = DivisorSigma[0, n]; m = q[d]; While[c[m d], m++]; If[m == q[d], While[c[m d], m++]; q[d] = m]; Set[{a[n], c[m d]}, {m d, True}], {n, nn}]; Array[a, nn] (* Michael De Vlieger, Dec 07 2022 *)
  • Python
    from itertools import count, islice
    from sympy import divisor_count as d
    def agen():
        seen = set()
        for n in count(1):
            dn = d(n)
            m = dn
            while m in seen: m += dn
            yield m
            seen.add(m)
    print(list(islice(agen(), 68))) # Michael S. Branicky, Dec 08 2022

Extensions

More terms from R. J. Mathar, Oct 09 2007