Три-три-три!


66

Напишите программу, которая производит вывод, такой что:

  1. По крайней мере три разных символа появляются.
  2. Количество вхождений каждого символа кратно 3.

Например, A TEA AT TEEдействительный выходной сигнал , так как каждый из 4 -х различных символов, A, E, Tи (space), происходит в 3 раза.

Конечно, проблема с номером 3 должна иметь третье требование. Так:

  1. Сама программа также должна соответствовать первым двум требованиям. (Это означает, что ваша программа будет иметь длину не менее 9 байт.)

Вы должны написать полную программу, а не функцию. Не забудьте показать вывод вашей программы в своем ответе.

Кроме того, чтобы все было интересно, мы настоятельно рекомендуем:

  • не использовать комментарии для удовлетворения требования 3, если вы можете помочь
  • производить вывод, который не просто строка повторяется 3 раза
  • чтобы выходные данные отличались от самой программы (для языков, которые могут автоматически выводить содержимое своей собственной программы, вы можете внести свой вклад в это вики сообщества ).

Это . Самый короткий код в байтах побеждает.


5
Считают ли новые строки (как отдельный символ)?
Цеппелин

4
Разрешены ли программы, которые полностью состоят из литералов? (Есть много языков, где 123123123будет работать, как написано в настоящее время.)

2
@zeppelin Да, переводы строки считаются отдельным символом.
darrylyeo

2
Я хочу спросить, может ли программа выводить, например, abcabcabcс завершающим переводом строки?
ETHproductions

1
@ETHproductions Ах, я вижу. Нет, это не разрешено. Тем не менее, три завершающих перевода строки были бы приемлемы.
Даррильо

Ответы:


59

Brain-Flak , Flakcats , Brain-Flueue , Brain-Flak Classic , Miniflak и Fλak 18 байтов

Доказано, что оптимально!

((([()][()][()])))

Попробуйте онлайн!

объяснение

Brain-Flak, Brain-Flueue, Miniflak и Fλak

   ([()][()][()]) Push -3
  (              ) Copy
 (                ) Copy

Это печатает:

-3
-3
-3

(Есть завершающий символ новой строки)

Brain-Flak Classic

Brain-Flak Classic является оригинальной версией Brain-Flak и имеет некоторые важные отличия от современных Brain-Flak. В BFC [...]печатает его содержимое, а не отрицает его.

   [()] Print 1
       [()] Print 1
           [()] Print 1
  (            ) Push 3
 (              ) Push 3
(                ) Push 3

В конце выполнения содержимое стека ( 3 3 3) печатается.

Это печатает:

1
1
1
3
3
3

(Есть завершающий символ новой строки)

Flakcats

Flakcats довольно сильно отличается от других 4-х типов, и я удивлен, что это работает в Flakcats. Три оператора здесь почти такие же, как те, что использует Brain-Flak.

Основным отличием этой конкретной программы от Flakcats является (...)оператор, который в Flakcats эквивалентен ([{}]...)Brain-Flak. Это, однако, не имеет значения для нас, потому что он собирает нули и, следовательно, работает так же, как Brain-Flak.

Вот эта программа, скомпилированная в Brian-Flak:

([{}]([{}]([{}][()][()][()])))

Это печатает:

-3
-3
-3

(Есть завершающий символ новой строки)

Доказательство оптимальности в Brain-Flak и Miniflak

Это не формальное доказательство, а скорее неформальное доказательство, которое необходимо расширить, чтобы сделать его более строгим

Из-за ограничений, что программы Brain-Flak должны быть сбалансированной строкой, а длина программы должна быть кратна 3, любая действительная отправка должна быть кратна 6 в длину. Это означает, что любое решение меньше 18 должно иметь длину 12.

Из-за выходных данных, заканчивающихся символом новой строки, конечная высота стека должна быть кратна трем, иначе мы нарушим ограничения на вывод.

Любое допустимое представление длиной 12 должно иметь 2 типа скобок (при меньшем значении нарушается ограничение на количество отдельных символов, а при большем значении должно быть более 12 символов). Поскольку программа производит вывод, она должна иметь толчок.

Это оставляет нам выбрать другой набор скобок. Варианты:

<...>/<>

Это терпит неудачу, потому что нам нужно сгенерировать «значение», чтобы создать любое число, отличное от нуля, мы должны отказаться от a, ()чтобы создать число, которое делает невозможным нажатие более двух раз.


[...]/[]

Это терпит неудачу по той же причине, по которой последний потерпел неудачу. Квадратные скобки действительно плохо делают ценность. []Монада может создать ценность , но нам нужно нажать номера первыми и мы тогда не хватает круглых скобок остались нажать три раза.


{...}/{}

Этот многообещающий, мы могли бы создать цикл и использовать его ()для многократного нажатия, но, увы, это невозможно.

Чтобы завершить цикл, в какой-то момент в стеке должен быть ноль, а для того, чтобы у нас был правильный вывод, в конце программы должно быть что-то отличное от нуля в стеке. Поскольку у нас нет []ни <>ноля в конце цикла, это должен быть неявный ноль в нижней части стека. Это означает, что цикл не может добавлять новые числа в стек, делая его бесполезным.


Поскольку ни один из вариантов фигурной скобки не может создать программу длиной 12, ни один из них не может существовать.

Поскольку Miniflak является подмножеством Brain-Flak, любая более короткая программа Miniflak также будет более короткой программой Brain-Flak и, следовательно, не существует.

Доказательство оптимальности в мозге

Brain-Flueue - это язык шуток, основанный на Brain-Flak. Они настолько похожи, что их интерпретаторы везде одинаковы, кроме двух строк. Различие между ними заключается в том, что, как следует из их названий, Brain-Flueue хранит свои данные в очередях, а Brain-Flak хранит свои данные в стеках.

Для начала у нас есть те же ограничения на размер программы, созданный Brain-Flak, поэтому мы ищем программу размером 12. Кроме того, нам понадобится a (...)для создания любого вывода и другой пары. <>и []пары не работают в Brain-Flueue для той же самой причине , что они не работают в Brain-Flak.

Теперь мы знаем, что наша программа должна состоять из символов ((())){{{}}}.

С помощью тех же методов, которые использовались в предыдущем доказательстве, мы можем продемонстрировать, что в конечной программе должен быть цикл.

Теперь вот где доказательства отличаются, потому что Brain-Flueue работает через очереди, а не стеки, программа может выйти из цикла со значениями в очереди.

Чтобы выйти из цикла, нам понадобится ноль в очереди (или пустая очередь, но если очередь пуста, мы получим ту же проблему, что и Brain-Flak), это будет означать, что нам придется открыть нашу программу, ({})чтобы создать нуль. Нам понадобится нажать внутри цикла, чтобы поместить необходимое количество элементов в очередь. Нам также нужно вставить ненулевое число перед циклом, чтобы мы могли вообще войти в цикл; это будет стоить нам в абсолютном минимуме (()). Теперь мы использовали больше паренов, чем у нас.

Таким образом, нет программы Brain-Flueue для выполнения задачи размером 12 байт, и, кроме того, наша программа является оптимальной.

Оптимальное решение в Flakcats и Brain-Flak Classic

Следующее решение является оптимальным в Flakcats и Brain-Flak Classic.

((([][][])))

объяснение

    [][][] -3
 (((      ))) push 3 times

Альтернативные 24-байтовые решения Brain-Flak

(<((<((<(())>)())>)())>)

Попробуйте онлайн!

((<((<((<>)())>)())>)())

Попробуйте онлайн!

((((((()()()){}){}){})))

Попробуйте онлайн!


2
+1 за доказательство.
HyperNeutrino

3
+1 для полиглота, особенно не все выходы одинаковы.
Шиеру Асакото

27

Желе , 9 байт

**‘‘‘888*

Полная программа, которая печатает 700227072 , что составляет 888 кубов.

TryItOnline!

Как?

**‘‘‘888* - Main link: no arguments
          - implicit L=R=0
*         - power       A = L ^ R = 1
  ‘       - increment   B = L + 1 = 1
 *        - power       C = A ^ B = 1
   ‘      - increment   D = C + 1 = 2
    ‘     - increment   E = D + 1 = 3
     888  - literal     F = 888
        * - power           F ^ E = 700227072

5
888^3есть 700227072? Это очень умно, возможно, другие языки могут использовать этот трюк.
ETHproductions

23

Полиглот чисто буквальных ответов, 9 байт

333111222

Это вики-публикация сообщества для сбора ответов, которые являются буквальным буквальным обозначением, которое язык автоматически распечатывает. Поскольку это вики сообщества, не стесняйтесь редактировать ее, чтобы добавить больше языков, на которых она работает.

Эта программа работает в:

  • PHP
  • HTML (возможно, не язык)
  • ЖелеМ )
  • 7 (более интересно, потому что программа интерпретируется как данные и код; первая 3печатает данные, остальная часть программы - бесполезное управление стеками)
  • CJam
  • Japt
  • Морковь
  • R (дисплей R также выводит [1] как метаданные)
  • RProgN
  • На самом деле (хотя это на самом деле печатает 2\n2\n2\n1\n1\n1\n3\n3\n3\n)
  • ///
  • Noodel
  • TI-Basic
  • SimpleTemplate
  • ReRegex
  • шелуха
  • Ресурс (хотя это выводит строку в обратном порядке)

Не обращая внимания на последний перевод строки, он действителен еще на нескольких языках:

Большинство ссылок идут на пробную версию онлайн!


3
Это печатает 2\n2\n2\n1\n1\n1\n3\n3\n3\nна самом деле, что совершенно правильно. Это должно быть добавлено к посту?
ETHproductions

@ETHproductions Я на самом деле думаю, что на самом деле следует добавить к посту, поскольку он использует тот же код;)
Kritixi Lithos

Как человек, который сделал на самом деле, я согласен, что он принадлежит в этом посте. Новые строки на самом деле не имеют значения.
Мего

Это также работает на языке, который я написал: SimpleTemplate . Он скомпилирует его в over-kill echo '333111222';(в PHP), но это работает.
Исмаэль Мигель

4
@IsmaelMiguel: это ответ сообщества вики ; ETHproductions написала только 29% (и, собственно, именно я изначально создал ответ, как вы можете видеть из истории изменений; ETHproductions имеет больше текста в текущей версии ответа, чем кто-либо другой, но определенно не ' Я несу ответственность за все это). Вся его цель заключается в том, чтобы быть отредактированным широким кругом пользователей в качестве совместных усилий. (Это отличается от обычных ответов, которые не предназначены для редактирования.)

21

C #, 114 111 118 102 байт

Если мы не заботимся об использовании правильных слов: (102 байта)

class CCcddiilMMmmnrrSSsttvvWWyy{static void Main(){{System.Console.Write(("A TEA AT TEE"));;;}}}///".

Если мы заботимся о правильных словах: (120 байт)

class erebeWyvern{static void Main(){int embedWildbanana;{System.Console.Write(("A TEA AT TEE"));;}}}///CC Myst mvcSMS".

Мое первоначальное представление - без учета регистра: (113 байт)

class EreBeWyvern{static void Main(){int embedwildbanana; {System.Console.Write(("A TEA AT TEE"));;}}}/// vyt".

Я знаю, что комментарий на самом деле не в духе CG, но это все, что я мог придумать за ограниченное количество времени, я посмотрю, смогу ли я улучшить его в течение дня. Конечно, я должен получить по крайней мере несколько бонусных баллов за авантюрность.

Редактировать: Спасибо roberto06 за ловлю пропущенных букв!


1
Я парень C ++, а не C #, но разве вы не можете просто обернуть вызов Write в {()}, не затрагивая его?
Спарр

1
Вы могли бы поставить круглые скобки вокруг аргумента, а не вызова в целом.

7
Брауни указывает на дикий банан.
darrylyeo

6
Приятно! Мне нравятся имена переменных. +1
MildlyMilquetoast

1
Вы должны удалить Vиз своего комментария и добавить vyt, так Vкак присутствует только там, в то время vкак присутствует дважды (опечатка, я думаю), yтакже присутствует дважды, и tприсутствует 5 раз. Смотрите здесь . Тем не менее, отличная работа!
roberto06

18

JavaScript, 36 33 байта

alert(((alert|alert||333111222)))

Оповещения 333111222. Это работает, потому что |преобразует оба его операнда в 32-разрядные целые числа, и любое значение, которое не выглядит как целое число (например, функция alert), преобразуется в 0. 0|0есть 0, поэтому ||оператор возвращает свой правый операнд, или333111222

Еще несколько интересных версий:

(a="(trelalert)\\\"")+alert(a+=a+=a)

Выходы (trelalert)\"(trelalert)\"(trelalert)\".

Использование решения .repeatбудет такой же длины, благодаря общему aert:

alert("(trpp.all)\\\"".repeat(3.33))

какие выводы (trpp.all)\"(trpp.all)\"(trpp.all)\" .

Воспользовавшись дополнительными обратными слешами, чтобы избавиться от них lи p почти все работает:

a\x6cert("(trax.cc)\"".re\x70eat(6.00677))

Этот вывод (trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)".


1
Хорошее злоупотребление десятичными числами!
Даррильо

2
@ Дарри Хе, спасибо. Я мог бы легко засунуть их в строку, но это было бы не так весело ;-)
ETHproductions

Думаю, я дам вам знать, что вас увенчал ответ ES6 .
Даррильо

14

CJam , 9 байт

10,10,10,

Выходы 012345678901234567890123456789

Попробуйте онлайн!

объяснение

10,       The range from 0 to 9
   10,    The range from 0 to 9
      10, The range from 0 to 9

не 3,3,3, работает на 7 байтов?
Хим

Ах! да, третье требование :)
chim

Argh, упущенная возможность использовать 99,99,99,, потому что почему бы и нет?
workoverflow

@workoverflow Потому что это не работает с третьим требованием. Программа должна содержать три разных символа.
DLosc

@DLosc Туш, я забыл об этом!
Workoverflow

11

брейкфук , 12 байт

++[+...][][]

Никто не сказал, что выход должен быть коротким. Это выведет 3 копии каждого символа ascii, кроме первых 2.

Вы можете доказать, что это настолько коротко, насколько это возможно. Вам нужно вывести, поэтому вам нужно 3 '.' должны быть разные выходные данные, поэтому вам нужно 3 [+ -], теперь мы до 6. Необходимо напечатать 9 символов, что означает либо добавление еще 6 символов '.' или добавление цикла, который добавит еще 6 символов.

Попробуйте онлайн!


10

Python 2, 36 30 байт

Поскольку завершающий символ новой строки не разрешен, он, вероятно, настолько короткий, насколько это возможно:

print"\\\""*3;print;print;3**3

Попробуйте онлайн

Выводится \"три раза, после чего следуют три символа новой строки.


Приведенные ниже программы не учитывают завершающий символ новой строки, поэтому они недействительны.

27 байт :

print"""printprint"""*3*3*3

Печатает 54 каждого символа в print.

Попробуйте онлайн


Та же самая длина, более короткая продукция:

print"""printprint*3*3"""*3

Выходы printprint*3*3printprint*3*3printprint*3*3


24 байта:

print~9;print~9;print~9;

Вы могли бы сделать print"""printprint*3*3"""*3для гораздо более короткого вывода ;-)
ETHproductions

Не могли бы вы сделать print 123;print 123;print 123;для наивного решения?
ETHproductions

ОП уточнил, что одиночный трейлинг-перевод строки запрещен (см. Комментарии).
FlipTack

1
@ETHproductions Конечно. Это зависит от того, насколько мы наивны.
mbomb007

3
Еще более наивно:print~9;print~9;print~9;
Sp3000

9

Perl 6 , 15 байт

.say;.say;.say;

Печатает шесть отдельных символов, по три раза каждый:

(Любые)
(Любые)
(Любые)

Попробуйте онлайн!

Как это устроено

  • Пустой вызов метода работает в текущей теме $_.
  • $_начинается как объект типа type Any, который sayпечатается как (Any).

1
Теперь у меня в голове застряла песня Yeah Yeah Yeahs .
Стюарт П. Бентли

9

C 66 байт

main(i){{for(i=0;i<3;i++){printf("""poop+fart=<3<3at0m=m0n""");}}}

Выход

poop+fart=<3<3at0m=m0npoop+fart=<3<3at0m=m0npoop+fart=<3<3at0m=m0n    

Старая версия 72 байта

main(i){for(i=0;i<3;i++){printf("poop+fart=<3<3 at {\"0m=m0\"}" "\n");}}

2
Мало того, что ваш код намного меньше того, что я сделал, но он также содержит реальные биты корма и пукает. Браво.
тусклый

9

JavaScript (ES6), 30 байт

+alert((({alert}+{alert}+{})))

Выходы [object Object][object Object][object Object].

Работает, создавая три объекта:

  • первые два имеют форму { "alert" : alert }с использованием обозначения ES6{alert}

  • третий простой пустой объект

Затем он +объединяет их вместе, и все три имеют идентичное выражение в виде строки [object Object].

Ведущий +бесполезен, присутствует только для заполнения количества +символов, но безвреден для вывода программы.


Способ побить другой ответ JS!
darrylyeo

Вы также должны добавить (ES6)к названию.
darrylyeo

@ darrylyeo Спасибо! :) И я добавил ES6
апсиллеры

8

ПКод , 9 байт

sonsonson

Выходы: 111222333


Объяснение:

Background: PKod has only one variable that you mess with, with the code
This variable starts with default value of 0

s  -  Add next char to the variable, and jump over it. 
n  -  Print numeric value of variable

o имеет ASCII-код символа "111" в десятичном виде. Таким образом, s добавляет 111 к переменной, а затем печатает число. Первый «сын» делает это 111 и печатает 111. Затем делает это 222 и печатает 222, наконец делает 333 и печатает 333



7

Microscript II, 9 байт

{{{~~~}}}

Объяснение: Создает блок кода, но не вызывает его. Когда выполнение заканчивается, содержимое основного регистра (т.е. этот блок кода) неявно печатается.


Вы опубликовали что-то подобное в конкурсе Куайна?
wizzwizz4

@ wizzwizz4 {}технически был бы квин, но я не думаю, что он соответствует нашему определению «правильной квин». Однако, программа "q"q(которую я отправил на вызов Куайна) делает.
SuperJedi224

@ wizzwizz4: Это не было бы правильной формой, потому что каждый символ представляет себя.

7

Гексагония , 9 байт

x!!xx@@!@

Попробуйте онлайн!

Печать 120120120. xможно заменить на f-m(102-109)

объяснение

  x ! ! 
 x x @ @
! @ . . .

Это xx@@только наполнитель для соблюдения правил. Основной поток сохраняется xв памяти (со значением ASCII 120), а затем печатает его как число 3 раза.


7

C 111 байтов

(Обратите внимание, что количество байтов равно трем одинаковым числам. Ничего себе. Вы не можете сделать больше мета, чем это.)

#include<stdio.h>
#define b "<acdhlmoprsu>."
#define t "en"
main(){{{printf(("<acdhlmoprsu>." b b t t t));;;}}}

Печать:

<acdhlmoprsu>.<acdhlmoprsu>.<acdhlmoprsu>.enenen


5

99 , 15 байт

9 9  9999
9
9
9

Это девять девяток, три пробела и три перевода строки, выходное значение равно -1110-1110-1110 .

Попробуйте онлайн!

Как?

9 9  9999 - V(9)=V(9)-V(9999)=1-1111=-1110
9         - print V(9)
9         - print V(9)
9         - print V(9)

Два пробела рассматриваются как одно, это третье пространство может быть также пробелом на любой строке.


5

Bash + coreutils, 15 9 байт

id;id;id;

Попробуйте онлайн!

Пример вывода:

uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211
uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211
uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211

(Если вы попробуете это, он напечатает ваш uid, gid и т. Д. 3 раза.)


Если вы хотите избежать повторения одной и той же строки 3 раза (а также иметь одинаковый вывод для всех, в отличие от моего первого ответа), лучшее, что я нашел для утилит bash + Unix, составляет 15 байт:

dc<<<cczdzfzfdf

Попробуйте эту вторую версию онлайн!

Выход:

2
0
0
3
2
0
0
3
3
2
0
0

(Нет новых строк в программе, 12 новых строк в выходных данных.)

Объяснение программы DC в этом ответе:

c Clears the stack.
Stack: (empty)

c Clears the stack.
Stack: (empty)

z Pushes the current size of the stack (0) onto the stack.
Stack: (top) 0

d Duplicates the item at the top of the stack.
Stack: (top) 0 0

z Pushes the current size of the stack (2) onto the stack.
Stack: (top) 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the first 3 lines of the output, 2 / 0 / 0 /)

z Pushes the current size of the stack (3) onto the stack.
Stack: (top) 3 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the next 4 lines of the output, 3 / 2 / 0 / 0 /)

d Duplicates the item at the top of the stack.
Stack: (top) 3 3 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the final 5 lines of the output, 3 / 3 / 2 / 0 / 0 /)

Как работает второй?
therealfarfetchd

@therealfarfetchd Я добавил объяснение к ответу.
Митчелл Спектор

Черт возьми, DC гораздо мощнее, чем я думал. Хорошая работа!
therealfarfetchd

@therealfarfetchd Спасибо. Мне нравится DC. Кстати, в объяснении было несколько опечаток, которые я только что исправил.
Митчелл Спектор

5

LOLCODE , 273 240 ( 360 286) байтов

HAI 1.2
I HAS A U
IM IN YR M UPPIN YR Q TIL BOTH SAEM Q 1
VISIBLE "Y SUB.EK"
IM OUTTA YR M
IM IN YR T UPPIN YR Q TIL BOTH SAEM Q 2
VISIBLE "Y SUB.EK"
IM OUTTA YR T
IM IN YR X UPPIN YR Q TIL BOTH SAEM Q 12
VISIBLE "IM"
IM OUTTA YR X
KTHXBYE

Обратите внимание на новую строку и попробуйте онлайн . Вторая строка была более или менее произвольной и, возможно, могла быть заменена более короткой командой, но я только что узнал LOLCODE для этой головоломки. Так как номер версии требуется в первой строке, я использовал числа для добавления циклов длиной 1, 2 и 0 mod 3, чтобы гарантировать, что будет напечатано правильное количество символов. Из этого я просто посчитал каждого персонажа (с помощью этого инструмента ). Если он появился 0 мод 3 раза, никаких действий не потребовалось. Если он появлялся 1 мод 3 раза, он добавлялся к 1- и 2-петлям, поэтому он появлялся трижды на выходе. Если оно появилось 2 мода 3 раза, персонаж был добавлен в 12-й цикл. РЕДАКТИРОВАТЬ: путем замены первогоVISIBLE с назначением (все еще бесполезным, но требующим иметь 12 вместо 11 новых строк), я смог сократить 33 байта.

Выход (60 байт):

Y SUB.EK
Y SUB.EK
Y SUB.EK
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM

Обратите внимание на завершающую новую строку.

Хорошая особенность этого решения по сравнению с другими ответами заключается в том, что с помощью Output можно легко манипулировать, чтобы вывести несколько значимый текст. Пример (286 байт с новой строкой):

HAI 1.2
I HAS A U
IM IN YR MW UPPIN YR Q TIL BOTH SAEM Q 1
VISIBLE "YO SUB. EEEEK!"
IM OUTTA YR MW
IM IN YR STA UPPIN YR Q TIL BOTH SAEM Q 2
VISIBLE "YO SUB. EEEEK!"
IM OUTTA YR STA
IM IN YR XURG UPPIN YR Q TIL BOTH SAEM Q 12
VISIBLE "IMO U R SWAG! "
IM OUTTA YR XURG
KTHXBYE

Попробуйте онлайн. Вывод (222 байта с новой строкой):

YO SUB. EEEEK!
YO SUB. EEEEK!
YO SUB. EEEEK!
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 

К сожалению, я не так хорош с анаграммами, как думал: ')


1
Добро пожаловать на сайт!
DJMcMayhem

@DJMcMayhem Спасибо. Что-нибудь, что я должен сделать, чтобы получить LOLCODE такое хорошее автоматическое соединение, которое я скопировал из других постов? (стиль # [language]) Ссылка на исходный код содержится в ответе.
SK19

Самый простой способ, если вы поместили свою программу в TIO, использовать меню ссылок и выбрать (или скопировать) вариант «Code Golf Submission». Это дает вам шаблон для нового сообщения. Я скопировал ту часть, которую вы, казалось, пропустили оттуда.
Орджан Йохансен,

5

РАКУШКА

шутить :) ( 9 байт )

ls;ls;ls;

или более серьезно ( 24 байта )

sed s/./sed.g./g <<< edg

Результат:

sed.g.sed.g.sed.g.

5

PHP, 24 байта

<?=111?><?=222?><?=333?>

1
Что это вывод? Как это работает?
DJMcMayhem

Он использует ярлык PHP <?вместе с немедленным echoоператором <?=для вывода 123 3 раза.
Junkfoodjunkie

Более короткая версия, в которой вы только что отредактировали, недействительна, так как <= ?>символы не появляются кратные 3 раза.
DJMcMayhem

Ах, да, я знал, что была причина, по которой оригинальная версия была такой, какой она была - я полностью отказался от требования - я изменю его обратно.
Junkfoodjunkie

4

Пакетный, 36 21 байт

@echo
@echo
@echo

Выходы

ECHO is on.
ECHO is on.
ECHO is on.

Изменить: 15 байтов сохранены благодаря @ P. Ktinos.


2
Разве 3 не работают в одиночку? echo \ necho \ necho - замените \ n новой строкой - он мне подходит. image.prntscr.com/image/ef96173169eb41168815203387d4975b.png , делает его 14 байтов.
П. Ктинос


4

Japt, 9 байт

000OoOoOo

Печать undefinedundefinedundefined.Проверьте это онлайн!

объяснение

Этот код переносится в следующий JavaScript:

000,O.o(O.o(O.o()))

O.oэто функция, которая выводит что-то без завершающей строки. Если аргумент не указан, он печатает undefined, что можно считать ошибкой, но здесь это пригодится. Он также возвращает undefined, так что все три звонка печатаетundefined .

Я уверен, что есть много других способов сделать это ...


1
О_о Интересно :)
geisterfurz007

4

05AB1E , 9 байт (я думаю, вы могли бы сказать, что это был кусок PI)

-0 байт благодаря Emigna / ETHProductions, сделало решение более правильным.

žqžqžq???

Альтернативные версии:

ž[g-Q]ž[g-Q]ž[g-Q]???

[g-Q] - Здесь можно поставить любую букву aQ, если все они совпадают (см. Ниже).

Попробуйте онлайн!

Разъяснение:

PI,PI,PI,SORT,JOIN,SORT,JOIN,SORT,JOIN.

Результат:

...111111222333333333444555555555666777888999999999

Это всего лишь 9 байтов, потому что вам не нужны сортировки, я просто вставил их, чтобы проиллюстрировать.

Результат без {кода в коде:

3.1415926535897933.1415926535897933.141592653589793


Альтернативные версии:

Следующие команды могут использоваться вместо PI:

ž 23  > žg       push current year
        žh       push [0-9]
        ži       push [a-zA-Z]
        žj       push [a-zA-Z0-9_]
        žk       push [z-aZ-A]
        žl       push [z-aZ-A9-0_]
        žm       push [9-0]
        žn       push [A-Za-z]
        žo       push [Z-Az-a]
        žp       push [Z-A]
        žq       push pi
        žr       push e
        žu       push ()<>[]{}
        žy       push 128
        žz       push 256
        žA       push 512
        žB       push 1024
        žC       push 2048
        žD       push 4096
        žE       push 8192
        žF       push 16384
        žG       push 32768
        žH       push 65536
        žI       push 2147483648
        žJ       push 4294967296
        žK       push [a-zA-Z0-9]
        žL       push [z-aZ-A9-0]
        žM       push aeiou
        žN       push bcdfghjklmnpqrstvwxyz
        žO       push aeiouy
        žP       push bcdfghjklmnpqrstvwxz
        žQ       push printable ASCII character set (32-128)

2
Выходи за каламбур; за трюк хоть получи :)
geisterfurz007

Хороший! Я не думаю žv, žwили žxдействителен, хотя, поскольку у каждого есть только 2 отличных цифры.
ETHproductions

Хм, в чем смысл отсталых классов персонажей?
ETHproductions

@ETHproductions аааа, забыл про at least 3, сначала был просто PI, когда я это написал. Что вы имеете в виду назад классы персонажей?
Волшебная Урна Осьминога

1
Обратите внимание, что это действительно только в том случае, если вы не учитываете новую строку, которая неявно печатается. Это может быть легко исправлена путем замены JJJс ???хотя.
Эминья

4

Cubix , 12 байт

Немного скучный ответ на самом деле. Выходит три 10с последующими символами новой строки

N@N@NOoOoOo@

Попробуйте онлайн! Карты к кубу

    N @
    N @
N O o O o O o @
. . . . . . . .
    . .
    . .

NВыкладывает 10 в стек
Oox3 Выходы 10 и новая строка
@останавливает программу

Начальное N@N@не ударил.


Я считаю 34 пробела: /
SK19

@ SK19 Код N@N@NOoOoOo@не содержит пробелов.
MickyT

Ах, хорошо, я думал, что куб также должен был выполнить требование
SK19

4

Пепе , 24 байта

rEeEEeeEEErreEErreEEreEE

Попробуйте онлайн!

Программа содержит 6 R, 6 E и 12 E.

Объяснение:

rEeEEeeEEErreEErreEEreEE # full program

rEeEEeeEEE               # push '103' to the stack
          rreEErreEE     # output as int (r flag: preserve)
                    reEE # output as int

Выход:

103103103



3

Befunge 93 , 9 байт

...,,,@@@

TIO

Prints 0 0 0(завершающий пробел, за которым следуют 3 нулевых байта)

Поскольку стек Befunge дополняется 0 символом s, мы можем напечатать как символ ASCII с этим значением, так и само целое число. Поскольку Befunge автоматически печатает пробел после целого числа, у нас остается 3 разных символа.

.печатает 0(завершающий пробел), ,печатает нулевой байт и @завершает программу

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.