Комплимент Кошка


24

Цель Напишите полную программу, которая выводит (в STDOUT или ближайшую альтернативу) произвольную строку текста длиной не более 64 символов. Достаточно просто, верно? Ну, вот подвох: вы не можете использовать любые символы, которые присутствовали в выводе предыдущего ответа. Это верно, ни один из них.

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

Некоторые правила

  • Ваш ответ (и выходные данные) могут содержать только печатные символы ASCII, символы новой строки (включая возврат каретки) и вкладки.
  • Вывод вашего ответа может не совпадать с выводом другого ответа. Два вывода одинаковы, если и только если они используют одинаковые символы.
  • Вы можете использовать любой язык, который не был специально создан для этого конкурса, даже если он был сделан после конкурса. (Этот язык, конечно, должен быть тестируемым.)
  • Вы не можете использовать язык, который использовался ранее.
  • Ваша запись не может содержать комментарии. Вы можете, конечно, предоставить дополнительную программу с комментариями.
  • Вы не можете ответить дважды подряд.
  • Ваша программа должна быть не менее 1 байта.

Формат ввода

Ваш ответ должен выглядеть в целом следующим образом:

# {Language}
Uses: `characters present in the output`

Does not use: `characters used in the previous output` from [previous submission, language](link-to-previous-submission]

    {program}

Outputs:

    {output}

Объяснение с вашим ответом приветствуется.


3
Я дико запутался в том, что спрашивают. Я должен напечатать любую <= 64 символьную строку, и я не могу использовать символы в выводе последней отправки?
Линн

1
@ Mauris Да, это правильно.
Конор О'Брайен

3
Ах хорошо; немного о «пространстве символов» действительно сбивает с толку IMO. Этот термин ничего не значит ... Может, стоит переписать?
Линн

1
@question_asker Если никто не может придумать ответ, который последует за вами, вы выиграете испытание (и получите зеленую галочку). Например, если бы я написал программу, которая выводит каждый печатный символ ASCII, было бы невозможно следовать (игнорируя те надоедливые языки, которые генерируют вывод для пустой программы).
ThisSuitIsBlackNot

1
@question_asker Ваш код не может содержать символы из вывода предыдущего ответа; Ваш вывод не может использовать тот же набор символов, что и любой предыдущий вывод. Если код первого ответа является fooи выводит barкод для следующего ответа не может содержать b, aили r; нет последующего ответ может выводить abr, arb, bar, bra, rab, или rba. (Да, я согласен, что это очень
сбивало с

Ответы:


2

Рубин

$><<'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" '

Не использует abcdefghijklmnopqrstuvwxyz{}\~_^[]|`из предыдущего ответа .

Печатает и, следовательно, использует ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"пробел и символ новой строки.


5

Pyth

Область применения: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg.

Не использует: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`abcdefghijklnsm{|}~из предыдущего представления в Октаве .

Код:

pMCMryyTyyytytttT

Выход:

()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg

Там есть место? Я думаю, что нет никаких вкладок или новых строк, которые не отображаются? Похоже, что следующий ответ должен быть пробельным ответом (или, по крайней мере, близким) ...
Stewie Griffin

Нет пробелов в выводе, который мой; Я не знаю, добавляет ли язык новую строку
Линн

5

Brainfuck

Область применения: -.

Не использует: !"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{| из CJam . Благодаря SuperJedi

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

Выходы:

; (){}[]"'

2
Это может быть изменено только для использования -и .. Это мое предложение для целей испытания.
SuperJedi224


2
Извините, я взял usesчасть, чтобы означать, что это были объекты, используемые в коде. Дай мне чертову минуту, прежде чем начать использовать отрицательные голоса.
Seadrus


3

октава

Использует: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_``abcdefghijklnsm{|}~и новую строку в выводе.

Не использует: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"из предыдущего представления в Microscript .

Код:

[' ':'@','[':'`','{':'~',('@'+' '):('>'+'/')]

Выход:

ans =
 !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~`abcdefghijklm

Объяснение:

Это коллекция последовательных ASCII-символов. Код эквивалентен:

[char(32:64) char(91:96) char(123:126) char(96:109)]

Где char(32:64)символы ASCII от 32 до 64 (пробел до @). Чтобы получить алфавитную часть в конце вывода, мне нужно было добавить символы, так как я не мог использовать aи m. @+равно 96 (``) и >+/равно 109 (м)


Как это работает?
Конор О'Брайен

@ CᴏɴᴏʀO'Bʀɪᴇɴ, объяснение включено =)
Стьюи Гриффин

3

Perl

Использует: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}(с пробелом)

Не использует: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~из предыдущего представления в нечитаемом

eval q!print uc q&} abcdefghijklmnopqrstuvwxyz&!and eval q}print q&0abcdefghijklmnopqrstuvwxyz&}and eval q&print length for qw!a bc def ghij klmno pqrstu vwxyzab cdefghij klmnopqrs!&

Выходы:

} ABCDEFGHIJKLMNOPQRSTUVWXYZ0abcdefghijklmnopqrstuvwxyz123456789

... вспоминается старая шутка о написании кода обезьянами ...

Вы можете запустить программу онлайн.

Эта программа использует странные возможности Perl для написания кода практически в любом подмножестве ASCII:

  • В некоторых случаях функции могут вызываться без скобок (не уверены в точных правилах)
  • q#text#где #может быть практически любой персонаж такой же, как"text"
  • qw#word1 word2 word3# как и выше, так же, как ["word1", "word2", "word3"]
  • for петли и другие вещи могут быть добавлены к линиям, устраняя любую пунктуацию

3

Javascript ES6

Предыдущий ответ: /codegolf//a/67406/39022

Источник не содержит ни !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZпробела, ни новой строки.

alert`abcdefghijklmnopqrstuvwxyz{}\\~_^[]|\``

Выход:

abcdefghijklmnopqrstuvwxyz{}\~_^[]|`

(Строчные буквы, фигурные скобки, обратная косая черта, тильда, подчеркивание, карат, квадратные скобки, труба и обратный удар)


Я полагаю, вы имеете в виду обратную косую черту вместо прямой косой черты. Но приятная запись!
ETHproductions

@ETHproductions Ты прав насчет обратной косой черты.
SuperJedi224

2

Python 3

Область применения: !CGaceilmnoprstw z.

print("Germanic Capitalization is awesome!")

Просто печатает Germanic Capitalization is awesome!без ограничений. Удачи!


2

Microscript II

Предыдущий ответ: здесь.Программа не использует точки с запятой, пробел, круглые скобки, фигурные скобки, квадратные скобки, одинарные прямые или двойные прямые кавычки. Эта программа была бы намного короче, если бы ей не пришлось избегать кавычек.

Вывод включает в себя: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"и перевод строки.

Программа:

97Kp98Kp99Kp100Kp101Kp102Kp103Kp104Kp105Kp106Kp107Kp108Kp109Kp110Kp111Kp112Kp113Kp114Kp115Kp116Kp117Kp118Kp119Kp120Kp121Kp122Kp""P65Kp66Kp67Kp68Kp69Kp70Kp71Kp72Kp73Kp74Kp75Kp76Kp77Kp78Kp79Kp80Kp81Kp82Kp83Kp84Kp85Kp86Kp87Kp88Kp89Kp90Kp123456789qh

Точный вывод:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ"123456789"

1
И Does not incudeнемного.
Конор О'Брайен


2

нечитаемый

Область применения: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

Не использует: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgиз предыдущего представления в Pyth

«„„„“““„„„„„“““““„„„“““„„„“““„„„“““„„„“““„„„“““"»" «„„““» «„„““» «„„““» «„„““» «„„““» «„„““» «„„““» «„„““» "» «„„„„““““» «„„„„““““» «„„„„““““» «„„„„““““» «„„„„““““» «»«„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «'»«„„„„““““» «„„„„““““» «„„„„““““» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «„„““» «„“» «» «„„„“““» «» «„„„“““» «» «„“» «» «„“» «» «„“» «» «„“» «» «„“» «» «„“» «» «„“» «» «„“» «» «»«„„““» «„„““» «„„““» «„„““» «„„““» «„„““» «„„““» «„„““» «»

Выходы:

"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

Если вам интересно, да, программирование вручную на этом языке является болезненным, поэтому я создал этот скрипт (на JavaScript) для генерации кода:

var program = `"`,
    output = "\"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`{|~";
for(var i = 1, c = 0; c < output.length; i++) {
  program = `'""` + program;
  if(i == output.charCodeAt(c)) {
    program = `'"` + program;
    c++;
  }
}
program;

Я использовал интерпретатор Python для Unreadable здесь, чтобы запустить код.


Наличие свободного места усложнит жизнь следующему =)
Стьюи Гриффин

@StewieGriffin Это правда. Это слишком поздно для редактирования? xD TBH, тем не менее, я думаю, что эта задача может продолжаться гораздо дольше, потому что есть много языков, которые имеют предварительно установленные переменные в верхнем или нижнем регистре букв, так что только один символ будет правильным ответом. (Даже если это не будет слишком интересно и очень легко для следующего ответа!)
user81655

1
Я думаю, что уже слишком поздно. Кто-то может работать над решением, например, в пробелах, и внезапное добавление пробела в выводе, вероятно, вызовет у них раздражение.
Стьюи Гриффин

@StewieGriffin Да, я тоже так рассуждал.
user81655 22.12.15

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