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.

A077609 Triangle in which n-th row lists infinitary divisors of n.

Original entry on oeis.org

1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 2, 3, 6, 1, 7, 1, 2, 4, 8, 1, 9, 1, 2, 5, 10, 1, 11, 1, 3, 4, 12, 1, 13, 1, 2, 7, 14, 1, 3, 5, 15, 1, 16, 1, 17, 1, 2, 9, 18, 1, 19, 1, 4, 5, 20, 1, 3, 7, 21, 1, 2, 11, 22, 1, 23, 1, 2, 3, 4, 6, 8, 12, 24, 1, 25, 1, 2, 13, 26, 1, 3, 9, 27, 1, 4, 7, 28, 1, 29, 1
Offset: 1

Views

Author

Eric W. Weisstein, Nov 11 2002

Keywords

Comments

The first difference from the triangle A222266 (bi-unitary divisors of n) is in row n = 16; indeed, the 16th row of A222266 is (1, 2, 8, 16) while the 16th of this sequence here is (1, 16). - Bernard Schott, Mar 10 2023
The concept of infinitary divisors was introduced by Cohen (1990). - Amiram Eldar, Mar 09 2024

Examples

			The first few rows are:
  1;
  1, 2;
  1, 3;
  1, 4;
  1, 5;
  1, 2, 3, 6;
  1, 7;
  1, 2, 4, 8;
  1, 9;
  1, 2, 5, 10;
  1, 11;
  1, 3, 4, 12;
  1, 13;
  1, 2, 7, 14;
  1, 3, 5, 15;
  1, 16;
  1, 17;
		

Crossrefs

Cf. A027750, A037445 (row lengths), A049417 (row sums).
Cf. A222266.

Programs

  • Haskell
    import Data.List ((\\))
    a077609 n k = a077609_row n !! (k-1)
    a077609_row n = filter
       (\d -> d == 1 || null (a213925_row d \\ a213925_row n)) $ a027750_row n
    a077609_tabf = map a077609_row [1..]
    -- Reinhard Zumkeller, Jul 10 2013
    
  • Maple
    # see the function idivisors() in A049417. # R. J. Mathar, Oct 05 2017
  • Mathematica
    f[x_] := If[x == 1, 1, Sort@ Flatten@ Outer[Times, Sequence @@ (FactorInteger[x] /. {p_, m_Integer} :> p^Select[Range[0, m], BitOr[m, #] == m &])]] ; Array[f, 30] // Flatten (* Paul Abbott (paul(AT)physics.uwa.edu.au), Apr 29 2005 *) (* edited by Michael De Vlieger, Jun 07 2016 *)
  • PARI
    isidiv(d, f) = {if (d==1, return (1)); for (k=1, #f~, bne = binary(f[k,2]); bde = binary(valuation(d, f[k,1])); if (#bde < #bne, bde = concat(vector(#bne-#bde), bde)); for (j=1, #bne, if (! bne[j] && bde[j], return (0)););); return (1);}
    row(n) = {d = divisors(n); f = factor(n); idiv = []; for (k=1, #d, if (isidiv(d[k], f), idiv = concat(idiv, d[k]));); idiv;} \\ Michel Marcus, Feb 15 2016