Если задано неотрицательное целое число n
, ваше решение должно вывести программу на выбранном вами языке, количество выходных данных которой в n
разы превышает количество байт.
правила
- Вы должны указать язык и кодировку программ, которые выводит ваше решение, и вы не можете выбирать разные языки или кодировки для разных входов вашего решения. Язык вашей программы вывода может совпадать или не совпадать с языком вашего решения.
- Ваша заявка должна обрабатывать только целые числа в диапазоне вашего языка, но, пожалуйста, не злоупотребляйте этим правилом.
Это код-гольф, поэтому выигрывает самая короткая подача в байтах.
пример
Предположим, n
это 4. Мое решение затем выводит f_8
программу, которая на моем (мнимом) языке выводит j3 1s+/2]!mz
. Выход программы имеет длину 3, а выход 3 * 4 = 12, поэтому решение является правильным для входа 4.
Предположим, что вместо этого n
1 и выходные данные моей программы ffffpfpffp
(10 байт). Программа ffffpfpffp
на моем выбранном языке должна выдавать 10 * 1 = 10 байт.
n
в качестве строки?Ответы:
JavaScript (ES6), 38 байт
демонстрация
Показать фрагмент кода
источник
Желе , 10 байт
Попробуйте онлайн!
Для ввода
12
он выводит12DL+8×x@⁶
, что выводит 120 пробелов. Попробуйте онлайн!источник
брейкфук , 348 байт
Попробуйте онлайн! Или посмотрите версию Ungolfed (то есть, с чем мне пришлось работать)
отказ
Я потратил больше времени на то, чтобы сделать это, чем я думал, по-человечески возможно. Я хотел бы поблагодарить мою девушку за то, что она позволила мне бросить ее работать над этим; а также мой спаситель .
Как это вообще работает?
Понятия не имею.
Как это работает?
У всех выходных данных есть завершающий фрагмент кода, который одинаков:
Давайте разделим его на три части под названием
a,b,c
Ввод
i
просто прикреплен к передней части в унарном виде:(например, если вход был 10, то
i = '++++++++++'
)Дубликатор - Разбивает входные данные на два идентичных числа
m, n
, эквивалентных входнымНастройщик - Настраивает так
n
, чтобы он равнялся длине программыПринтер - печатает
m*n
символы ASCIIОбратите внимание, что в этом примере входное значение равно a
newline
, что в качестве значения ASCII равно 10, поэтому входное значение равно10
. Если вы хотите проверить другие небольшие числа, замените их на,
сколько+
угодно.источник
Чеддер ,
109 байтовНеловкий протонный полиглот> _ <
источник
Haskell , 55 байт
Попробуйте онлайн! Пример использования:
f 1
выдает следующую 54-байтовую программу:Попробуйте онлайн! который производит следующие 54 байта вывода:
источник
Python 3 -> HQ9 +, 11 байт
Это должно быть сделано
Попробуйте онлайн!
источник
Q
просто печатает свой собственный исходный код. Вы можете проверить это здесь: hq9plus.alwaysdata.net . Это никогда не должно было быть серьезной записью1
, то вы выводитеQ
, что в свою очередь выводитQ
.Q
имеет длину1
, но ваш код имеет длину11
.Java 8,
175174 байтаПримеры:
n=1
выходы :(длина = 89), который выводит 89 нулей :
n=10
выходы :(длина = 90), которая выводит 900 нулей :
n=100
выходы :(длина = 91), который выводит 9100 нулей :
Объяснение:
источник
RProgN 2 ,
75 байтС замыкающим пробелом
Разъяснения
Попробуйте онлайн!
источник
CJam,
813 байтПопробуйте онлайн
Сгенерированная программа выводит пробелы, так что это сложно сказать.
источник
Ly , 29 байт
Попробуйте онлайн!
(в настоящее время не работает из-за ошибки предварительной обработки)Все хорошо!источник
Python → TECO, 20 байтов
Ответ в Python, а сгенерированный код в TECO. Python - это функция, возвращающая n
VV12345\VV
повторений . Смотрите здесь для объяснения TECO.источник
PHP, 47 + 1 байт
печатает одно подчеркивание с последующими пробелами.
Беги как труба с
-F
; запустить выведенную программу с помощью-f
или-F
.Это не удастся для ввода с более чем 64 цифрами,
что намного выше, чем
PHP_INT_MAX
(в настоящее время).Тем не менее, он не
PHP_INT_MAX
подходит для ввода больше -18 ... он все еще соответствует?источник
PHP_INT_MAX
-18. Это дисквалифицирует?PHP → Python 2, 40 + 1 байт
печатает программу Python, которая печатает повторные
A
s. Беги как труба с-F
.источник
Пакетная обработка → Древесный уголь, 22 байта
Я не уверен, какую кодировку мне следует использовать, поскольку это байты. Вот байты, интерпретируемые как Windows-1252:
Те же байты, что и у PC-850:
Те же байты в кодовой странице Charcoal:
Полученная программа Charcoal имеет
Plus(Length(Cast(n)), 9)
длину в байты:источник
Recursiva ,
1615 байтПопробуйте онлайн!
Это для ввода
n=2
отпечатков:который выводит 30
*
. Попробуйте онлайн!источник
JavaScript (ES8),
434139 байтПроверь это
Результатом сгенерированной функции является строка пробелов, которые
*
в этом фрагменте заменены на s.источник
R , 46 байт
Попробуйте онлайн!
Анонимная функция, которая возвращает строку
Какие отпечатки
a
(a
после пробела) 23n
раза. Мне нужно,''
потому что в противномcat
случае не будет печатать последний пробел.источник
C 94 байта
это будет 94 байта, включая последний \ n, на котором стандартный c говорит, что он должен быть записан. вернуть как 'r' символы как (длина программы) * (аргумент программы), если аргумент программы не существует, или это <= 0, или это> 0xFFFFF.
источник
MATLAB (63 байта)
Например:
и:
источник