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.

A048794 Subsets of natural numbers arranged in standard statistical (or Yates) order.

Original entry on oeis.org

0, 1, 2, 12, 3, 13, 23, 123, 4, 14, 24, 124, 34, 134, 234, 1234, 5, 15, 25, 125, 35, 135, 235, 1235, 45, 145, 245, 1245, 345, 1345, 2345, 12345, 6, 16, 26, 126, 36, 136, 236, 1236, 46, 146, 246, 1246, 346, 1346, 2346, 12346, 56, 156, 256, 1256, 356, 1356
Offset: 0

Views

Author

Keywords

Comments

a(2^n) = n+1. - Reinhard Zumkeller, Nov 16 2013

Examples

			empty; 1; 2; 1 2; 3; 1 3; 2 3; 1 2 3;...
		

References

  • S. Hedayat, N. J. A. Sloane and J. Stufken, Orthogonal Arrays, Springer-Verlag, NY, 1999, p. 249.

Crossrefs

Programs

  • C
    #include 
    #include 
    #define USAGE "Usage: 'A048794 num' where num is the largest number to use creating sets.\n"
    #define MAX_NUM 10
    #define MAX_ROW 1024
    int main(int argc, char *argv[]) { unsigned char a[MAX_ROW][MAX_NUM]; signed short old_row, new_row, i, j, end; if (argc < 2) { fprintf(stderr, USAGE); return EXIT_FAILURE; } end = atoi(argv[1]); end = (end > MAX_NUM) ? MAX_NUM: end; for (i = 0; i < MAX_ROW; i++) for ( j = 0; j < MAX_NUM; j++) a[i][j] = 0; a[1][0] = '1'; new_row = 2; for (i = 2; i <= end; i++) { sprintf(&a[new_row++ ][0], "%d", i); for (old_row = 1; a[old_row][0] != (i+48); old_row++) { sprintf(&a[new_row++ ][0], "%s%d", &a[old_row][0], i); } } fprintf(stdout, "Values: 0"); for (i = 1; a[i][0] != 0; i++) fprintf(stdout, ",%s", &a[i][0]); fprintf(stdout, "\n"); return EXIT_SUCCESS; }
    
  • Haskell
    a048794 n = a048794_list !! n
    a048794_list = map (read . concatMap show) a048793_tabf :: [Integer]
    -- Reinhard Zumkeller, Nov 16 2013
  • Maple
    a:= n-> (l-> parse(cat(0, seq(`if`(l[i]=1, i, [][])
                 , i=1..nops(l)))))(Bits[Split](n)):
    seq(a(n), n=0..53);  # Alois P. Heinz, Feb 01 2023
  • Mathematica
    nmax = 6; s[0] = {{}}; s[n_] := s[n] = Join[s[n-1], Append[#, n]& /@ s[n-1]]; FromDigits /@ s[nmax] (* Jean-François Alcover, Nov 15 2011 *)

Formula

Constructed recursively: subsets that include n are obtained by appending n to all earlier subsets.
From Alois P. Heinz, Feb 02 2023: (Start)
a(floor(2^(n-1))) = a(A131577(n)) = n.
a(2^n-1) = a(A000225(n)) = A007908(n) for n>=1. (End)

Extensions

More terms from Larry Reeves (larryr(AT)acm.org), Apr 11 2000
Keyword base added by Reinhard Zumkeller, Nov 16 2013