задача
Ваша задача распечатать этот точный текст:
A
BCD
EFGHI
JKLMNOP
QRSTUVWXY
ZABCDEFGHIJ
KLMNOPQRSTUVW
XYZABCDEFGHIJKL
MNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLM
NOPQRSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL
MNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW
XYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ
KLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY
ZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP
QRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI
JKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD
EFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
Спекуляции
- Вы можете сделать это только строчными, а не заглавными.
- Трейлинг-перевод строки в конце треугольника разрешен.
- Конечные пробелы после каждой строки разрешены.
- Вы должны печатать в STDOUT вместо вывода массива строк.
счет
Это код-гольф . Программа с наименьшим количеством байтов выигрывает.
code-golf
ascii-art
kolmogorov-complexity
Дрянная Монахиня
источник
источник
mod
функцию. Может сделать сам, если у меня будет время.Ответы:
Vim, 29 байт
Где
↵
представляет клавишу Return, клавишу♥
Escape иβ
клавишу Backspace.источник
␛
вместо♥
. И␈
вместоβ
. Вот для чего были созданы эти символы Unicode. utf8icons.com/subsets/control-picturesPython 2, 65 байт
источник
Желе , 10 байт
Попробуйте онлайн!
Как это работает
источник
ṁ
это здорово !! [жду, чтобы сказать поздравления за 100 тыс. представителей]H
является половиной иḤ
является его обратным ( unhalve )./2
или*2
, так что это «Половина» или «Двойной». Вот почему я был смущен.27Ḷ²IRØAṁY
51Rm2RØAṁY
VBA Excel (80 байт, 1742 байт)
Excel, 1742 байта
Вдохновленный творческим ответом угорена , мне удалось найти формулу Excel для создания шаблона, как показано в ОП.
Вставьте эту формулу в ячейку A1, затем перетащите ее по всему диапазону A1: A26.
Длина формулы составляет 67 байт, но вы должны повторить ее 26 раз, поэтому она равна 67 * 26 = 1742 байт. Вот вывод:
Excel VBA, 80 байт
Теперь возможно интегрировать Excel с VBA, чтобы автоматизировать процесс и сэкономить много байтов, поскольку VBA встроен в большинство приложений Microsoft Office, включая Excel. Напишите и запустите следующий код в Immediate Window (используйте комбинацию клавиш CTRL+, Gчтобы отобразить его в редакторе Visual Basic):
Программа работает, печатая вышеприведенную формулу Excel в диапазоне A1: A26. К сожалению, в Excel и VBA нет встроенного алфавита.
источник
Haskell, 67 байт
Простая рекурсия по длине
i
строки. На каждом шаге следующиеi
символы взяты из бесконечного повторения алфавита.источник
Mathematica, 90 байт
Анонимная функция. Не требует ввода и возвращает строку в качестве вывода. Предложения по игре в гольф приветствуются. Пример того, что
Internal`PartitionRagged
делает:источник
C, 79 байтов
Мой первый ответ на C \ O /
Предложения по игре в гольф приветствуются.
источник
i;main(j){while(i<676)printf("\n%c"+(j*j^i++||!j++),i%26+65);}
i;main(j){for(;j<27;j*j^++i||puts("",j++))putchar(i%26+65);}
Брахилог , 37 байт
Попробуйте онлайн!
объяснение
Основной предикат:
Предикат 1: используется для генерации переменных строк нечетной длины.
источник
Z
, потому что26
она свободна от квадратов.Pyth , 12 байт
Попробуйте онлайн!
источник
JavaScript (ES6), 77
82 88EcmaScript 6 требуется просто сохранить 1 байт, используя строковый литерал шаблона для новой строки.
Меньше гольфа
Тест
источник
Perl,
424139 байтПросто код:
К сожалению, очевидно более короткая версия вызывает внутреннюю проблему с Perl (использование освобожденного значения в итерации):
источник
JavaScript, 129 байт
источник
[...'ABCDEFGHIJKLMNOPQRSTUVWXYZ']
вместо'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split``
.Пайк, 14 байт
Попробуй это здесь!
источник
Go, 133 байта
источник
MATLAB,
112 109 95 7977 байтЭто также будет работать с Octave , вы можете попробовать онлайн здесь .
Поэтому после некоторых серьезных изменений я сохранил еще
1432 байта. Этот становится намного больше, чем длина, которую я ожидал от MATLAB. Я оставил старую версию ниже, поскольку она существенно отличается.Оригинальная версия:
Ничего себе, это оказалось дольше, чем я думал. Я посмотрю, не смогу ли я сбить с него несколько байтов.
Безглобная версия для объяснения:
Подтверждения
источник
XPath 3.0 (и XQuery 3.0), 84 байта
Объяснение:
(1 to 26)!(65 to 90)
это алфавит 26 раз(0 to 25)!(subsequence(XX, start, len),10)
занимает 26 подпоследовательностей этого, каждая из которых сопровождается переводом строкиsubsequence(X, .*.+1, 2*.+1)
принимает последовательные подпоследовательности с начальной позицией и длиной: (1, 1), (2, 3), (5, 5), (10, 9) и т. д.codepoints-to-string()
превращает кодовые точки Unicode в символыисточник
Рубин, 46 байт
Смотрите его на ideone: http://ideone.com/3hGLB0
источник
05AB1E (альтернативный) 15 байтов
Попробуйте онлайн!
Объяснение:
источник
R,
120115111 байтовUngolfed:
В основном,
b
это вектор нечетных чисел между1
и51
, таким образом, давая длину каждой строки. Очевидно, чтоsum
функция суммирует числа этого вектора и дает начальный и конечный индексы.-5 байт благодаря @plannapus!
-4 байта благодаря @plannapus!
источник
a
один раз, вам не нужно его определять, то есть вы можете сбрить еще пару байтов:b=seq(1,51,2);v=c();for(i in 1:26){v=c(v,c(rep(LETTERS,26)[(sum(b[1:i-1])+1):sum(b[1:i])],"\n"))};cat(v,sep="")
работает.b=seq
часть в основной корпус, так что она еще менее читабельна!Р,
81 73 6563 байтаПростой
for
цикл подход. Повторите алфавит 26 раз и переберите скользящий индексный диапазон, который рассчитывается с помощью(i^2-2*i+2):i^2
.источник
Шелуха , 10 байт
Попробуйте онлайн!
объяснение
источник
Пакетный, 123 байта
источник
05AB1E ,
1817 байтобъяснение
Попробуйте онлайн!
источник
Rexx,
7472 байтаUngolfed:
источник
TSQL, 129 байт
ИСПОЛЬЗУЙТЕ MASTER в начале скрипта, чтобы убедиться, что запрос выполняется в базе данных master, которая по умолчанию для многих пользователей (без учета байтов для этого).
Golfed:
Ungolfed:
скрипка
Скрипка для старой версии с использованием пути XML
источник
PowerShell, 68 байт
Раздел перед первой точкой с запятой создает строку, содержащую 26 копий прописного алфавита. В следующем разделе вводятся разрывы строк по индексу каждого квадратного числа (работая в обратном направлении, поэтому мне не приходится учитывать сдвиг). Наконец,
$a
в конце просто помещает эту строковую переменную в эквивалент PowerShellSTDOUT
.источник
Дьялог АПЛ, 18 байт
↑2{⍺↓⍵⍴⎕a}/×⍨0,⍳26
источник
C, 60 байтов
источник
puts
принимает только один аргумент (Некоторое неопределенное поведение разрешено в Codegolf обычно, но это слишком далеко за пределами обычных полос)C ++, 111 байт
Сначала попробуйте один из них. Использует int "c", чтобы записать, какую букву нужно напечатать в любой момент времени. Как только «с» проходит 90 («Z»), он сбрасывается до 65 («А»). Печатает пирамиду, используя для петель.
источник
if(c<92)c=65
чтобы снять один байт, и вы могли бы также сделатьint a()
вместоvoid a()
, но я не уверен, если это работает без возврата. Кроме этого, я думаю, что вы должны включить#include <iostream>
в свой счетчик байтов.if(c>90)c=65
, но спасибо за предложение, это хорошая идея. Кроме того, я думаю, я включу это, спасибо.PHP,
7669 байтисточник