One-dimensional cellular automata: Difference between revisions

Content added Content deleted
(Reformatted Perl (regexp) version for cleaner look)
(Added Bracmat)
Line 360:
> ^</lang>
 
=={{header|Bracmat}}==
<lang bracmat> ( ( evolve
= n z
. @( !arg
: %?n ? @?z
: ?
( ( ( 000
| 001
| 010
| 100
| 111
)
& 0 !n:?n
| (011|101|110)
& 1 !n:?n
)
& ~`
)
?
)
| rev$(str$(!z !n))
)
& 11101101010101001001:?S
& :?seen
& whl
' ( ~(!seen:? !S ?)
& out$!S
& !S !seen:?seen
& evolve$!S:?S
)
);</lang>
Output:
<pre>11101101010101001001
10111110101010000001
11100011010100000001
10100011101000000001
11000010110000000001
11000001110000000001
11000001010000000001
11000000100000000001
11000000000000000001</pre>
=={{header|C}}==
<lang c>#include <stdio.h>