Эта задача заключается в выводе на ваш терминал, в окно, на холст или на экран чисел от 0 до 10 включительно. Каждое выведенное число должно быть показано как 4-битный nybble, поэтому ноль должен показываться как 0000
и так далее.
Вы можете отделить каждое число, выведенное пробелом, запятой или переводом каретки. Наименьшее решение выигрывает, но числа могут отображаться в любом порядке, который вам нравится, если в вашей последовательности нет повторяющихся чисел.
Записи в двоичных языках низкого уровня не должны беспокоиться о разделителях запятых или пробелов, если вывод невозможен с запятыми или пробелами (т. Е. Стандартный вывод ограничен только двоичным кодом или ваше решение для раннего компьютерного комплекта). такой как KIM-1, который имеет ограниченный цифровой дисплей).
источник
Ответы:
SmileBASIC, 26 байтов
источник
MATL , 6 байтов
Попробуйте это на MATL Online
объяснение
источник
05AB1E ,
98 байтПопробуйте онлайн!
источник
JavaScript, 46 байт
Зачем использовать функцию заполнения, если вы можете просто добавить 16 к каждому числу и вырезать первую двоичную цифру?
источник
Japt , 7 байт
И тут я подумал, что Джапт обречен быть длиннее любого другого языка игры в гольф ...
Проверьте это онлайн!
объяснение
Обычно в Japt могут быть удалены запятые, но эта есть из-за ошибки:
_
обычно означаетfunction(Z){Z
, но по какой-то причине компилятор считает, что этоA_
означаетfunction(A,Z){Z
.источник
Aô_¤
Утилиты Bash + GNU, 26
Попробуйте онлайн .
источник
seq -w 0 1010
должно сработать.-w
чтобыseq
раньше использовалась эта опция .Утилиты Bash + Unix,
2926 байтПопробуйте онлайн!
Это та же длина, что и у решения @ DigitalTrauma / @ Dennis, но использует совершенно другой метод.
Выход:
(Любой заказ разрешен.)
Чистый Баш , 34 байта
Попробуйте чистую версию Bash онлайн!
Выход:
источник
J, 6 байт
Спасибо миль за сокращение до 6 байт!
источник
#:i.11
должен работать так же хорошоЖеле , 7 байт
Попробуйте онлайн!
(5 байт, если разрешены завершающие строки nybbles,
2Bṗ4Y
)Как?
Печать в порядке убывания.
Альтернатива 7-byter это
2ṗ4Ịṫ6Y
, то[1,0]
заменяется[1,2]
иỊ
является «незначительно» Монада (abs(z)<=1
), преобразование2
с до0
с.источник
Python 3.6,
3635 байт-1 байт благодаря @JonathanAllan
Python 3.5 и более ранние версии:
Попробуйте онлайн!
источник
i=11
(новая строка)while i:i-=1;print(f"{i:04b}")
, для 35.PHP, 33 байта
источник
CJam , 12 байт
Попробуйте онлайн!
объяснение
Подход картезианской силы был бы моим выбором, но уже был принят.
Таким образом, это генерирует числа от 0 до 10, и для каждого это добавляет 16 и конвертирует в двоичный файл. Добавление 16 обеспечивает создание необходимых ведущих нулей вместе с дополнительным ведущим нулем, который удаляется.
источник
MATLAB / Octave, 13 байт
Демо онлайн
источник
Желе ,
10, 9, 8 байтовПопробуйте онлайн!
Я не очень хорош в желе, поэтому буду открыт для любых советов!
Это использует первый алгоритм Emigna
Спасибо Деннису за то, что он
сбрил два байта изаставил меня связать свой ответ. :ПОбъяснение:
источник
Ḋ€
сохраняет байт.⁴r27
сохраняет еще один.Python 2 ,
3836 байтСпасибо @DJMcMayhem за игру в 2 байта!
Попробуйте онлайн!
источник
for n in range(11):print bin(n+16)[3:]
также в 38 байтах.n=16;exec"print bin(n)[3:];n+=1;"*11
в дваЖеле , 8 байт
Попробуйте онлайн!
Как это устроено
источник
RProgN, 15 байт
Это было очень хорошим дополнением для добавленияpad
функции. В целом]L4\-'0'\m\.
, более половины кода, это дополнить._Сохранено 6 байтов благодаря @ETHProductions , это функция подушечки разрезать пополам.
Разъяснения
Попробуйте онлайн!
источник
length of the Alphabet
Хороший способ сохранить байт ;-)Сетчатка ,
36-33 байтаПопробуйте онлайн!
объяснение
Замените пустой (несуществующий) вход на
%%%%
.При первом запуске этого этапа он будет соответствовать
^%
и по существу заменить текст%%%%
двумя строками0%%%
и1%%%
. Этап будет зацикливаться, пока выход не перестанет изменяться. При втором запуске он будет соответствовать\b%
(так как цифры считаются как символы слова, а%
не как), и заменит группы, дублируя их и добавляя0
к одной копии1
к другой:0%%%
становится строками00%%
и01%%
(и тем же самым для1%%%
). Через этот цикл будут созданы все 16 цепочек битов, разделенных переводом строки.Первые 11 совпадений
\d+
(серия не менее 1 цифры) извлекаются. Совпадения выводятся в списке с разделением строк.источник
0$%'¶$%
линия 1`. Что$%
,`1
,'¶
представляете?$%`
представляет все до матча в одной строке и$%'
все после матча в одной строке.¶
это буквальный перевод строки. Таким образом, в основном замена соответствует первому%
в строке и заменяет его на0
плюс остальную часть строки, на которой она была, символ новой строки, начало строки, на которой она находилась, и a1
. Конечно, начало и конец линии, на которой он находился, не затронуты заменой, потому что они не были частью матча.G11`
вместо последней строки регулярное выражениеРубин, 25 байт
источник
BF,
121101 байтТребуется завершающий перевод строки. Использует
!
символ (поэтому установите флажок с надписью!
) с этим переводчиком (попробуйте онлайн!) .Потенциально 51 байт, если каждый оператор рассматривается как 4 бита
источник
!
включенного флажка.C #, 96 байт
Golfed
Ungolfed
Полный код
релизы
96 bytes
- Исходное решение.источник
C
170120 байтовБезголовая версия:
Определенно можно укоротить !?
@ Ahemone Отличная идея, спасибо!
Должно работать сейчас! Попробуйте онлайн!
источник
for
цикл в вашей версии для гольфа должен быть равен 4, а не 3, но это не имеет значения, поскольку цикл может быть полностью исключен, а второй цикл for может начинаться с 0. Вы также можете просто использоватьwhile(n)
, но сжатьwhile
цикл доfor
цикл еще раз спасает.n/=2
также сэкономит вам байт за смену. Вам также не хватает завершения}
в версии для гольфа, что приводит к ошибке при компиляции.}
и улучшил код, на 50 байт короче, в зависимости от вашей идеи.R - 23
Мы можем использовать
intToBin
функцию изR.utils
пакета:источник
С
756869 байтовПодход 1:
757374байтаПопробуйте онлайн!
Подход 2:
6869 байтПопробуйте онлайн!
источник
m,n;f(o)
вместоm,n,o;f()
Python 2, 44 байта
При этом используется
zfill
функция, которая работает аналогично,rjust
за исключением того, что она всегда заполнена,0
поэтому вы не тратите байты на аргумент.источник
lambda k,l:' '*(len(k)-l)+k
) Вау ... +1 только из-за этого: DПайк, 8 байт
Попробуй это здесь!
Также 8 байтов:
Попробуй это здесь!
источник
Pyth -
87 байтПопробуйте это онлайн здесь .
источник
сложено , 30 байтов
Попробуйте онлайн!
11:>
это диапазон от0
до10
. Остальное довольно очевидно.Другие решения, которые я нашел:
источник
Рубин, 38 байт
источник
11.times{|i|puts i.to_s(2).rjust 4,?0}
BF , 134 байта
Я уверен, что это может быть сокращено - это в значительной степени мой первый гольф BF.
Попробуйте онлайн! Предполагается, что лента бесконечна в обоих направлениях, как использует интерпретатор TIO. Переводчик где
<
на левом конце ленты нет данных, может сохранить три байта.объяснение
Больше половины кода (первые 77 байтов, если быть точным) тратится на инициализацию ленты. Шаги идут так:
Ячейки, инициализированные для
1
хранения битов нашего числа плюс 1:1
представляют нулевой бит и2
представляют один бит.Фаза инициализации завершилась указателем на
11
. Теперь мы используем эту ячейку для запуска 11 итераций нашего цикла:источник