Правило 110 - это клеточный автомат с некоторыми интересными свойствами. Ваша цель - смоделировать правило 110, используя как можно меньше символов.
Для тех, кто не знает, правило 110 моделируется построчно в сетке. Каждый квадрат в линии сетки смотрит на квадраты выше, слева вверху и справа, чтобы определить, какой должна быть ячейка.
current pattern 111 110 101 100 011 010 001 000
new cell 0 1 1 0 1 1 1 0
Ввод: числа от 0 до 39, представляющие верхний ряд n-го квадрата ввода, в любом приемлемом формате (строка, разделенная запятыми, список, аргументы функции). Для поддержки языков с 1 индексом числа также могут быть 1 индексированы и могут варьироваться от 1 до 40.
Пример ввода:
38,39
Вывод: сетка 40 x 40, представляющая работающие автоматы, включая первый ряд. Вы должны оставить 0 пустым, а 1 - любым видимым печатным символом. Задние пробелы разрешены, при условии, что фактическая сетка может быть разумно различена. В нижней части сетки может быть новая строка, но между линиями сетки не должно быть пустых линий.
Пример вывода:
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
и т.п.
Примечание: подобный вопрос о 1D клеточных автоматах уже задавался, но я надеюсь, что, используя только одно правило, можно написать более короткие ответы.