A070887 - OEIS
1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1
COMMENTS
New state of cell is 1 in every case except when the previous states of the cell and its two neighbors were all the same, or when the left neighbor was 1 and the cell and its right neighbor were both 0.
A cellular automaton using Rule 110 with arbitrary inputs is a universal Turing machine.
Row n has length n.
REFERENCES
S. Wolfram, A New Kind of Science, Wolfram Media, 2002; p. 31ff..
LINKS
Eric Weisstein's World of Mathematics, Rule 110
EXAMPLE
1;
1,1;
1,1,1;
1,1,0,1;
1,1,1,1,1; ...
MAPLE
option remember;
local lef, mid, rig ;
if k < 1 or k > n then
0;
elif n = 1 then
1;
else
lef := procname(n-1, k-2) ;
mid := procname(n-1, k-1) ;
rig := procname(n-1, k) ;
if lef = mid and mid = rig then
0 ;
elif lef = 1 and mid =0 and rig =0 then
0;
else
1 ;
end if;
end if;
end proc:
for n from 1 to 12 do
for k from 1 to n do
printf("%d ", A070887(n, k)) ;
end do:
printf("\n")
MATHEMATICA
rows = 14; ca = CellularAutomaton[110, {{1}, 0}, rows-1]; Flatten[ Table[ca[[k, rows-k+1 ;; -1]], {k, 1, rows}]] (* Jean-François Alcover, May 24 2012 *)
PROG
(Haskell)
a070887 n k = a070887_tabl !! (n-1) !! (k-1)
a070887_row n = a070887_tabl !! (n-1)
a070887_tabl = zipWith take [1..] a075437_tabf
CROSSREFS
A071049 gives number of ON cells at n-th generation.