La Regola 110 è un automa cellulare con alcune proprietà interessanti. Il tuo obiettivo è simulare una regola 110 nel minor numero di caratteri possibile.
Per chi non lo sapesse, la regola 110 viene simulata riga per riga in una griglia. Ogni quadrato in una linea della griglia guarda i quadrati sopra, sopra a sinistra e sopra a destra per determinare quale cella dovrebbe essere.
current pattern 111 110 101 100 011 010 001 000
new cell 0 1 1 0 1 1 1 0
Input: numeri da 0 a 39 che rappresentano la riga superiore dell'ennesimo quadrato di input, in qualsiasi formato ragionevole (stringa, elenco, argomenti di funzione separati da virgola). Per ospitare le lingue con 1 indice, i numeri possono anche essere 1 e quindi vanno da 1 a 40.
Esempio di input:
38,39
Output: una griglia 40 x 40 che rappresenta gli automi in esecuzione inclusa la prima riga. Dovresti lasciare 0 vuoto e 1 come qualsiasi carattere di stampa visibile. Sono consentiti spazi finali, purché la griglia effettiva possa ragionevolmente essere distinta. La parte inferiore della griglia potrebbe avere una nuova riga ma non dovrebbero esserci linee vuote tra le linee della griglia.
Esempio di output:
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
eccetera.
Nota: una domanda simile sugli automi cellulari 1D è già stata posta, ma spero che, usando solo una regola, si possano scrivere risposte più brevi.