Получив в качестве входных данных положительное целое число n>=1
, выведите первые n
строки следующего треугольника:
1
1 0 1
0 0 1 0 0
1 1 1 0 1 1 1
0 0 0 0 1 0 0 0 0
1 1 1 1 1 0 1 1 1 1 1
0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
Строки чередуются между всеми нулями и всеми единицами, за исключением того, что центральный столбец перевернут.
Контрольные примеры
Вход :
3
Выход :
1 1 0 1 0 0 1 0 0
Вход :
10
Выход :
1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
Ваш код должен работать для любого n<100
. Это код-гольф , поэтому выигрывает самый короткий код в байтах!
Конечные пробелы / переводы строк и ведущие переводы строк разрешены!
Ответы:
Желе , 7 байт
Попробуйте онлайн!
-1 байт благодаря Эрику Аутгольферу
объяснение
источник
¶Ç
сµ
на -1.Python 2 , 50 байт
Попробуйте онлайн!
Это возвращает строки в виде списка строк.
Python 2 ,
67 6563 байта (в формате)Попробуйте онлайн!
Это приводит к завершающему пробелу в каждой строке.
источник
Желе , 8 байт
Попробуйте онлайн!
-2 благодаря HyperNeutrino .
источник
¬^Ḃ
может стать,=Ḃ
потому чтоNOT (XOR (A B))
это простоIFF (A B)
редактировать, по- видимому, я играл в гольф больше, чем я думал, у меня был o_O LOLPython 2 , 50 байт
Попробуйте онлайн!
Python 2 , 53 байта
Попробуйте онлайн!
Python 2 , 67 байт
Попробуйте онлайн!
источник
Japt ,
129 байтПроверьте это онлайн!
Довольнопечально по сравнению с желе, но у Джапта нет ничего похожегоṬ
, так что я должен делать с того, что у меня есть ...объяснение
источник
Mathematica, 77 байт
@ Ни одно дерево не дошло до 48 байтов!
Mathematica, 48 байтов
источник
#&@@@NestList[CellularAutomaton@51,{{1},0},#-1]&
48 байтовPyth , 14 байт
Спасибо @Jakube за сохранение 2 байта!
Попробуй это здесь!
Pyth , 15 байт
Большое спасибо @Jakube за -1 байт
Попробуй это здесь.
Pyth , 16 байт
Попробуй это здесь.
источник
]
в первом коде.ms_+Bm%d2d%hd2
R , 73 байта
Благодаря Джузеппе! Хорошо поймал.
Попробуйте онлайн!
R , 78 байт
Попробуйте онлайн!
R , 82 байта
Попробуйте онлайн!
R , 110 байт - вывод на стандартный вывод
Попробуйте онлайн!
R , 130 байт - вывод в файл
Попробуйте онлайн!
Запись в файл, так как я не знаю, как разместить его в консоли if
n==99
(см. Результат здесь ).источник
Паскаль ,
181154 байта27 байтов сохранено благодаря @ThePirateBay
Попробуйте онлайн!
Unglofed
источник
Сетчатка , 25 байт
Попробуйте онлайн! Объяснение: На первом этапе входные данные преобразуются в строку нулей этой длины. Затем второй этап берет все префиксы этой строки (не включая саму строку) и префикс 1 к ним. Затем третий этап переключает биты на чередующихся строках.
источник
05AB1E ,
242118 байтПопробуйте онлайн!
Изменить: Ну, это мой первый гольф 05AB1E, поэтому я не удивлен, что можно играть в гольф. Редактировать историю:
.∞
иû
), что облегчает вверх вещи многоÈ
иÉ
сделать,2%
и2%_
намного корочеFN2%DN×Dr_sJIN>-úˆ}¯»
IF
->F
,)J
->J
baa
чтобыaab
может быть сделано путем.À
(вращение) , но иr
(задний ход) (короче)IFN2%DN×D.À_s)JIN>-úˆ}¯»
источник
Perl 5 , 58 + 1 (-n) = 59 байт
Попробуйте онлайн!
# Perl 5 , 59 + 1 (-n) = 60 байтПопробуйте онлайн!
источник
Mathematica, 90 байт
источник
SOGL V0.12 , 13 байтов
Попробуй здесь!
источник
Уголь , 18 байт
Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
источник
JavaScript,
140132 байта (с правильным форматированием)Попробуйте онлайн
источник
A=Array
чтобы сохранить 8 байтов.A=Array;
чтобы инициализировать переменнуюA
при первом вызове массива (т.for(x of(A=Array)(n))
Е.), Которая сохраняет 1 байт, 2) Заменить'\n'
на буквальную новую строку (используйте серьезные акценты), 3) Вы не делаете нужны скобки,(b+1)%2
потому что это эквивалентноb+1&1
.JavaScript (ES6) ,
7473716864 байта-7 байт @Neil
Попробуйте онлайн!
Простая рекурсивная функция, которая генерирует строки одну за другой. Выходы в виде массива чисел.
Выводится как отформатированная строка:
JavaScript (ES6) ,
122119118 байтПопробуйте онлайн!
источник
(n%2+(i==n))%2
может быть упрощено до(n+(i==n))%2
.1&n^i==n
может сработать, но я не проверял это.n--?...:[]
. (И вам не нужно;
гольф в коде.)2*n+1
возможноn-~n
, но я никогда не могу вспомнить наверняка.Haskell , 54 байта
Прямое понимание списка:
Попробуйте онлайн!
источник
J, 32 байта
Попробуйте онлайн!Это анонимная функция, которая возвращает список значений в штучной упаковке.
Мне нравится представлять, что явное определение функции экономит байты за счет удаления заглавных букв и тому подобного, но, вероятно, добавляет несколько байтов по сравнению с молчаливым ответом.
объяснение
источник
05AB1E , 11 байт
Попробуйте онлайн!
объяснение
источник
J , 17 байт
Попробуйте онлайн!
Выводит список упакованных массивов.
объяснение
источник
Java 8,
121111109101 байтМой текущий байт-счет (101) также является строкой двоичного треугольника. :)
Объяснение:
Попробуй это здесь.
источник
GolfScript , 49 байт
Попробуйте онлайн!
источник