OFFSET
0,3
COMMENTS
For n>0: first occurrence of n in row 2^(n-1), and when the table is seen as a flattened list at position n*2^(n-1)+1, cf. A005183. - Reinhard Zumkeller, Nov 16 2013
Row n lists the positions of 1's in the reversed binary expansion of n. Compare to triangles A112798 and A213925. - Gus Wiseman, Jul 22 2019
REFERENCES
S. Hedayat, N. J. A. Sloane and J. Stufken, Orthogonal Arrays, Springer-Verlag, NY, 1999, p. 249.
LINKS
Reinhard Zumkeller, Rows n = 0..1000 of triangle, flattened
FORMULA
Constructed recursively: subsets that include n are obtained by appending n to all earlier subsets.
EXAMPLE
From Gus Wiseman, Jul 22 2019: (Start)
Triangle begins:
{}
1
2
1 2
3
1 3
2 3
1 2 3
4
1 4
2 4
1 2 4
3 4
1 3 4
2 3 4
1 2 3 4
5
1 5
2 5
1 2 5
3 5
(End)
MAPLE
T:= proc(n) local i, l, m; l:= NULL; m:= n;
if n=0 then return 0 fi; for i while m>0 do
if irem(m, 2, 'm')=1 then l:=l, i fi od; l
end:
seq(T(n), n=0..50); # Alois P. Heinz, Sep 06 2014
MATHEMATICA
s[0] = {{}}; s[n_] := s[n] = Join[s[n - 1], Append[#, n]& /@ s[n - 1]]; Join[{0}, Flatten[s[6]]] (* Jean-François Alcover, May 24 2012 *)
Table[Join@@Position[Reverse[IntegerDigits[n, 2]], 1], {n, 30}] (* Gus Wiseman, Jul 22 2019 *)
PROG
(C)
#include <stdio.h>
#include <stdlib.h>
#define USAGE "Usage: 'A048793 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 short 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++) {
a[new_row++ ][0] = i;
for (old_row = 1; a[old_row][0] != i; old_row++) {
for (j = 0; a[old_row][j] != 0; j++) { a[new_row][j] = a[old_row][j]; }
a[new_row++ ][j] = i;
}
}
fprintf(stdout, "Values: 0");
for (i = 1; a[i][0] != 0; i++) for (j = 0; a[i][j] != 0; j++) fprintf(stdout, ", %d", a[i][j]);
fprintf(stdout, "\n"); return EXIT_SUCCESS
}
(Haskell)
a048793 n k = a048793_tabf !! n !! k
a048793_row n = a048793_tabf !! n
a048793_tabf = [0] : [1] : f [[1]] where
f xss = yss ++ f (xss ++ yss) where
yss = [y] : map (++ [y]) xss
y = last (last xss) + 1
-- Reinhard Zumkeller, Nov 16 2013
CROSSREFS
Cf. A048794.
Row lengths are A000120.
First column is A001511.
Heinz numbers of rows are A019565.
Row sums are A029931.
Reversing rows gives A272020.
KEYWORD
nonn,tabf,easy,nice
AUTHOR
EXTENSIONS
More terms from Larry Reeves (larryr(AT)acm.org), Apr 11 2000
STATUS
approved