La regla 110 es un autómata celular con algunas propiedades interesantes. Su objetivo es simular una regla 110 en la menor cantidad de caracteres posible.
Para aquellos que no saben, la regla 110 se simula línea por línea en una cuadrícula. Cada cuadrado en una línea de la cuadrícula mira los cuadrados de arriba, arriba a la izquierda y arriba a la derecha para determinar qué celda debería ser.
current pattern 111 110 101 100 011 010 001 000
new cell 0 1 1 0 1 1 1 0
Entrada: números del 0 al 39 que representan el enésimo cuadro de entrada de la fila superior, en cualquier formato razonable (cadena separada por comas, lista, argumentos de función). Para acomodar idiomas indexados en 1, los números también pueden estar indexados en 1 y, por lo tanto, varían de 1 a 40.
Entrada de ejemplo:
38,39
Salida: una cuadrícula de 40 x 40 que representa la ejecución de autómatas, incluida la primera fila. Debe dejar 0 en blanco y 1 como cualquier carácter de impresión visible. Se permiten espacios finales, siempre que la cuadrícula real se pueda distinguir razonablemente. La parte inferior de la cuadrícula puede tener una nueva línea, pero no debe haber líneas en blanco entre las líneas de la cuadrícula.
Salida de ejemplo:
XX
XXX
XX X
XXXXX
XX X
XXX XX
XX X XXX
XXXXXXX X
XX XXX
XXX XX X
XX X XXXXX
XXXXX XX X
XX X XXX XX
XXX XXXX X XXX
etc.
Nota: Ya se ha hecho una pregunta similar sobre los autómatas celulares 1D, pero espero que, al usar solo una regla, se puedan escribir respuestas más cortas.