Обратите внимание, что это не то же самое, что Печать алфавита четыре раза .
Эта задача состоит в том, чтобы написать программу для генерации четырех копий каждой буквы английского алфавита, по одной букве в строке, на стандартном выводе:
A
A
A
A
B
B
B
B
и т.п.
Вывод должен включать переводы строк после каждой буквы.
Прописные буквы без дополнительного вывода являются предпочтительными; однако строчные буквы и / или лишние пробелы допустимы, если использование заглавных букв / зачисток удлинит ваше решение.
Отредактировано ДОБАВИТЬ: решение должно быть достаточно полным, чтобы выполнить. Я должен иметь возможность вызывать реализацию языка, вставлять код из ответа и получать результаты, не вводя никакого дополнительного кода.
Вышеупомянутый вопрос о полноте возник в контексте решения C. Конечно, должно быть постоянное правило или соглашение об этом на сайте игры в гольф кода? Если это так, я с радостью уступлю руководящим принципам сообщества. Но это мое мнение:
Что касается C, вам нужно включить (и сосчитать)
main(){
...}
код, так как иначе он не скомпилируется. Предупреждения, потому что нет#include <stdio.h>
, хороши, пока код все еще компилируется. В общем случае для компилируемого языка требуется компилируемый модуль.Голое выражение, которое дает желаемые результаты, приемлемо, если есть способ выполнить выражение напрямую; например, если у языка есть REPL. Таким образом, вы можете отправить Haskell без,
main=
пока он действительно работает, как написано, например, вghci
приглашении. Но так как это означает, чтоlet
вы должны ставить свои декларации, это может быть чистой победой, придерживаясьrunhaskell
формата.Точно так же
awk
сценарии должны быть вBEGIN
(илиEND
, с предположением, что stdin присоединен/dev/null
) блоках, так как мы не обрабатываем какой-либо ввод.
и т.п.
источник
Ответы:
APL (5)
Матричный формат (
⍪
) 4-ти репликации (4/
) алфавита (⎕A
).источник
Python - 37
i
идет от 0 до 104; оно делится на четыре и добавляется к значению ascii дляA
, и полученный символ печатается.источник
3/4
0, а3.0/4.0
0,75;range()
генерирует целые числаfor i in range(104):print(chr(i//4+65))
R,
302827Предыдущая версия с 30 байтами:
источник
1
вместо,""
чтобы указать стандартный выводwrite
, который сохраняет другой байт.С, 59
Я представляю это, неконкурентно длинный ответ, просто потому, что пока не вижу заявки на Си. И это меня огорчает. : - /
ПОЗЖЕ: перейдите к @moala для выполнения этой версии "/ 4", сэкономив 13 символов!
источник
J:
1813Я все еще довольно шаткий с J, так что, возможно, это можно улучшить
источник
#
) вместо деление примерно так:4#u:65+i.26 1
. Кроме того,~
меняются аргументы функции, так что если вы когда-нибудь обнаружите, что делаете(expression) F value
, вы можете заменить этоvalue F~ expression
на сохранение символа.4#65{26,.\a.
для 12 байтов.Руби, 23
Вся заслуга @manatwork - поддержите его комментарий, а не этот. :)
источник
puts [*?A..?Z].map{|i|[i]*4}
илиputs ([*?A..?Z]*4).sort
так, чтобы буквы были упорядочены, как в примере.puts (?A..?Z).map{|i|[i]*4}
персонаж короче. Вы можете позвонитьmap
напрямую на Range, поэтому в этом случае вам не нужен сплат.PowerShell:
3223Гольф-код:
Прохождение:
[char[]](
...)
берет массив объектов и преобразует их в символы ASCII.65..90
являются кодами ASCII для AZ.*4
повторяет серию 4 раза.|Sort
сортирует вывод.Заметка:
Если вы хотите, чтобы это было записано в файл, просто бросьте
>
, а затем имя файла, в конце.источник
Хаскелл, 46
источник
putStr$['A'..'Z']>>=("golf">>).(:"\n")
сохраняет 8 битовBefunge 98 - 18
Работает, сохраняя число и заканчивая его, когда оно достигает 104. Распечатывает соответствующий символ алфавита для числа, разделенного на 4, за которым следует новая строка. Но если мне не нужно добавлять новую строку после каждой буквы, то это 16 символов:
Может быть уменьшено, если я смогу напечатать больше символов (т.е. все четыре раза) (
76 символов, даже работает в Befunge 93):С новой строки:
источник
GolfScript:
1715 символовисточник
Perl 5, 21
источник
С
46444346:44:44 тоже:
Благодаря @marinus, 43:
Должен ли я добавить награду за получение 42? :)
источник
>>2
на/4
.Ява: 56
редактировать: изменено с «печать» на «печать»
источник
The solution must be complete enough to execute. I should be able to invoke an implementation of the language, paste the code from the answer, and get results, without typing any additional code.
я думаю, что ваше решение нарушает это условиеДалее 37
источник
+
.На самом деле, 6 байтов
Попробуй это здесь!
объяснение
4 байта со строчными буквами и без перевода строки:
источник
16-битный машинный код x86 MS-DOS COM, 25 байт
В шестнадцатеричном виде:
Это полная программа MS-DOS .COM. Скопируйте последовательность байтов в файл с расширением .com и запустите его из DOSBox.
Разборка:
источник
BrainF * ,
7960источник
+++++++++++++[>+>+++++>++<<<-]>--->>[<.<.>.<.>.<.>.<.>+>-]
AWK, 48
Давайте попробуем это с AWK ...
Как подсказывает manatwork, мы можем избавиться от 2 символов
AWK, 46 (Изменить)
AWK, 40 (редактирование кода MarkReed )
источник
END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}
.END
блок означает, что для его работы требуется поток ввода (даже если он есть/dev/null
). Это изменяет количество символов? Во всяком случае,BEGIN{for(;++i<104;){printf"%c\n",i/4+65}}
на 5 символов короче.END
шаблона для входного потока ...PowerShell, 21
Немного другой подход к Иззи. И короче :-)
источник
C # LINQ
115 байт110 байтисточник
05AB1E, 6 байтов
Объяснение:
Без перевода строки, 4 байта
Попробуйте онлайн!
источник
Желе , 5 байт (не конкурирует?)
Попробуйте онлайн!
Объяснение:
источник
Perl 6, 32
источник
Холст , 5 байт
Попробуй это здесь!
Объяснение:С
¶
заменой на\n
после печати.источник
Котлин ,
6659 байтСохраните 7 байтов, удаляя для цикла.
Попробуйте онлайн!
источник
брейкфук , 48 байт
Попробуйте онлайн!
Печать в нижнем регистре, разделенная переводом каретки. Использует обтекание 8-битных ячеек, а также ячеек слева от источника, хотя вы можете добавить a,
>
чтобы противостоять последним.источник
Баш: 24 персонажа
источник
Dc: 35 символов
источник
Скала, 42
источник
Юлия,
39, 36источник