Ваша задача состоит в том, чтобы создать самый короткий код на выбранном вами языке, который записывает в .txt
файл самый длинный код для умножения двух чисел, принимая два числа в качестве ввода и вывода ответа .
НИКАКОГО ВВОДА НЕ НУЖЕН ВАШ КОДЕКС, КОТОРЫЙ ДЕЛАЕТ ПИСЬМЕННУЮ РАБОТУ !
Генератор кода и сгенерированный код могут быть на любых языках
НЕ используйте неограниченное количество серий или последовательностей, чтобы сделать текстовый файл большим.
НЕ используйте ненужные заявления, чтобы увеличить счет.
SCORING
( size of text file generated in bytes ) (without any unnecessary white spaces, tabs or newlines)
-----------------------------------------
( size of your code in bytes )
победитель
Победитель будет выбран через 1 неделю с наибольшим количеством очков .
РЕДАКТИРОВАТЬ: диапазон ввода в коде умножения двух чисел должно быть в диапазоне от -32768 до 32767
code-challenge
Мукул Кумар
источник
источник
+
значение*
в программе-генераторе, которую он предоставляет, и вы, вероятно, уже знаете это, так как ответили и на этот вопрос.Ответы:
perl / perl, неограниченное количество очков по оригинальному правилу с неограниченным диапазоном
Вот код, который не победил:
Выход имеет следующую форму:
длина выходного файла составляет 181030 байт, но после удаления пробелов и строк новой строки его длина составляет всего 133109 байт. итак, 133109/248 = 536,7289 ...
Вот еще один код, который не победил - это та же программа, за исключением первых двух строк:
длина выходного файла составляет 718138 байт, но после удаления пробелов и строк новой строки его длина составляет всего 532233 байт. Итак, счет 532233/248 = ~ 2146. лучше! использование 7 дает оценку ~ 8750, 8 - ~ 35347, 9 - ~ 149129, 10 - 151100000 без пробелов / 250 = 604,400 ....
Конечно, мы можем делать это так долго, как хотим. размер исходной программы, n, увеличится как O (log (n)). размер выходной программы O (2 * n). Предел 2 * n / log (n), когда n переходит в бесконечность, явно равен бесконечности, поэтому, если я просто подставлю свое любимое большое число, googolplex, я выиграю (пока кто-нибудь не предложит googolplex + 1).
источник
add
которая принимает два параметра. Затем он населяет эту функцию с возвратом заявление выглядит какreturn 39 if ($i == 13) && ($j == 3);
, используя все значения от$l
до$h
для$i
и$j
. Умное изгибание правила «только ненужные высказывания».С 27297/245 = 111,4
Исходный код (245 байт)
При компиляции и запуске с двумя целочисленными аргументами в командной строке это создает другой файл C, содержащий необходимый код для вычисления их продукта, и компилирует его с
-E
флагом. Этот флаг указывает, что компилятор должен остановиться после этапа предварительной обработки и вывести обработанный исходный код (который будет включать все содержимоеstdio.h
иstdlib.h
).Выходной файл (27297 байт)
********* LINES 13-1273 OMITTED *********
Результат запуска выходного кода
Выходной файл сохраняется как
add.c
, который можно скомпилировать и запустить нормально:источник
Perl, 125 символов, оценка 1 630 326 497,312
Тот же базовый подход, что и в моем другом ответе, но на этот раз он ограничен от -32768 до 32767 в соответствии с обновленными правилами, и все ненужные пробелы полностью удалены:
Программа вывода начинается примерно так:
и заканчивается:
Программа вывода имеет длину 190 ГБ. Точнее, 203790812164 байта. Оценка = 203790812164/125 = 1630326497,312
источник
Командный скрипт Windows: ~ 1 000 000 000 очков
Код: 158 байт
Выход: ~ 158000000000 байт
Вывод в значительной степени состоит из:
источник