Ваша задача распечатать этот точный текст:
z
yz
xyz
wxyz
vwxyz
uvwxyz
tuvwxyz
stuvwxyz
rstuvwxyz
qrstuvwxyz
pqrstuvwxyz
opqrstuvwxyz
nopqrstuvwxyz
mnopqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
jklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
Дело не имеет значения.
Помните, что это код-гольф , поэтому выигрывает код с наименьшим количеством байтов.
code-golf
kolmogorov-complexity
alphabet
Оливер Ни
источник
источник
Ответы:
Чеддер,
50454237 байтПростой, но использует синтаксис ранжирования краткого чеддера (как числовой, так и алфавитный)
Попробуйте онлайн!
объяснение
65
это код символа дляA
и90
дляA
источник
Z
это90
неA
.05AB1E ,
1513 байтПопробуйте онлайн! (немного отличается от выше, поскольку
ú
еще не на TIO)объяснение
источник
Python 2, 70 байт
Портировано из ответа Emigna , -2 байта для замены
-i-1
на~i
источник
R
67 6659 байтРЕДАКТИРОВАТЬ: сэкономил пару байтов благодаря @rturnbull
Использование факта, что любое число, переданное
rep
функции, автоматически округляется до ближайшего целого числа (напримерrep("*",1.99) => "*"
), что означает, что фактическая переданная последовательностьfloor(13-1:26/2)
:источник
14...-1
на13
?25:0
вместо циклического1:26
перехода вы можете перейти13-i/2
кi/2
упрощению(27-i):26
иi:25+1
сэкономить до 6 байтов.Pyth, 15 байт
Программа, которая печатает результат в STDOUT.
Попробуйте онлайн
Как это работает
источник
;
вместо\
Python 2, 52 байта
Накапливает строку
s
для печати и обновляет количество начальных пробеловn/2
.while
Цикл заканчивается на0
редкий , чем численное цикл ударовexec
петли (53 байта):Также 53-байтовая альтернатива:
источник
JavaScript (ES6),
85756968 байт-1 байт благодаря @ l4m2 .
источник
for(s=a='',x=36;--x>9;)s+=` `.repeat(x/2-5)+(a=x.toString(36)+a)+'#'
1B корочеBrain-Flak , 244 байта
Попробуйте онлайн!
Это должно быть достаточно читабельным, как есть. Если вам это нужно, у меня есть полное объяснение:
источник
This should be readable enough as is.
Вы говорите о Brain-Flak , верно?Желе ,
1513 байт-2 байта благодаря @miles (образовалась ниладическая цепочка, которая, как я подозревал, существовала, но не сформировалась)
TryItOnline!
Как?
источник
ØaJ’H⁶ẋżṫJ$ṚY
который сохраняет 2 байтаC
7268 байтисточник
05AB1E , 5 байтов
Попробуйте онлайн!
источник
Turtlèd ,
7068 байтобратите внимание на конечный пробел
Попробуйте онлайн!
Как это работает:
Человекочитаемое объяснение (?):
Он использует строку var, чтобы содержать алфавит. На каждой итерации он уменьшает индекс на единицу, пока не обернется и не остановится после перехода к последней строке. Для чередующихся отступов он использует char var. Каждую итерацию проверяет char var и переворачивает его. если он был *, то он сдвигается вправо, поэтому первый символ выравнивается, в противном случае нет, поэтому последний символ выравнивается.
источник
Perl, 44 байта
Это порт ответа @ xnor .
Необходимо
-E
(или-M5.010
) запустить:источник
PHP, 71 байт
источник
(26-$i)/2
→13-$i/2
Java 7,
128127 байтСохранено 1 байт. Спасибо Кевину.
ungolfed
Без прохождения 122 в функции
132 байта
ungolfed
источник
=
вd+=c+s+"\n"
. Кроме того, вы можете захотеть немного отформатировать свой код без отступов. Я заметил это и с некоторыми другими вашими ответами. :)s=v+s
в рекурсииs+=v
?Рубин, 64 байта
источник
join
Вызова»,each
аmap
не излишне, поскольку нас не волнует, что мы возвращаем. Вы можете коллироватьlast
по диапазону(0..26).map
, чтобы попробовать27.times
; а('a'..'z').to_a
,[*?a..?z]
; и вместо того.join
,*""
.Japt , 16 байт
Попробуйте онлайн!
Объяснение:
источник
REXX, 52 байта
Выход:
источник
Vim, 25 нажатий клавиш
Где ␍ - это клавиша Enter, также иногда обозначаемая как
<cr>
.объяснение
Я новичок в ViM, хотя - я начал в ноябре. Хотите знать, если есть способ объединить инициализацию
P
с той, что в макросе.Каков «правильный» способ проверить последовательность ViM в гольфе? Я проверял с
\vi -u /dev/null
. Однако в ВМ даже:h<_␍
не работает. Также не очень уверен, почему мой ViM перейдет к первому непробельному персонажу, ха-ха.PS Прежде, чем я перешел на использование OS X, я играл в гольф в Hexagony с отличными инструментами ... Теперь на OS X я не занимаюсь вином и, следовательно, не использую отличные инструменты для объяснений и отладки. Так началось мое путешествие с ViM!
источник
C # (.NET Core) , 112 байт
Попробуйте онлайн!
источник
Tcl , 92 байта
Попробуйте онлайн!
tcl, 94
демонстрация
В середине процесса я случайно получил курсивную версию шапки:
tcl, 94
демонстрация
tcl, 101
демонстрация
В середине процесса я случайно получил курсивную версию шапки:
ткл, 99
демонстрацияисточник
Common Lisp, SBCL,
8382 байтаобъяснение
-1 с использованием sugestion по ASCII-only для использования
<enter>
вместо~%
источник
T-SQL, 107 байт
Изменяет строку для каждой строки, набивая правильную букву в правильной позиции, используя функцию SQL
STUFF()
. отформатирован:@/2
использует целочисленное деление (без остатка), чтобы определить позицию для вставки буквы.@%2
являетсяMODULO
функцией, и переключается между 0 (вставить букву) и 1 (перезаписать пробел).Если вы предпочитаете заглавные буквы, используйте
CHAR(@+63)
вместо этого (не изменяет наш счетчик байтов).источник
Perl 5 ,
4038 байт-2 байта благодаря @Dom Hastings
Попробуйте онлайн!
источник
Stax , 7 байт
Запустите и отладьте его
источник
Haskell (Lambdabot), 73 байта
той же длины:
Я использую
init.tails
илиtail.inits
с возможным реверсом впереди в почти каждом вызове; Я бы хотел, чтобы они уже добавили его в Prelude.источник
Python 2,
6664 байтаисточник
Groovy, 53 байта
Выход:
источник
QBIC , 57 байт
Это удивительно хорошо работает с циклами QBIC 'FOR. Пояснение (предыдущей версии - применяется тот же принцип):
Выход:
источник
Ракетка 137 байт
Ungolfed:
Тестирование:
Выход:
источник