Создайте программу, которая выводит строку hello world («Hello world», «Hello, World» и т. Д.) И исходный код. Вывод записывается в стандартный вывод или эквивалентный. Строка Hello World встроена в исходный код.
Например, вывод для может быть
(some source code here)hello world(some source code here)
Когда выходные данные компилируются или интерпретируются снова, они должны создавать аналогичные выходные данные, но строка hello world должна иметь другую пунктуацию или заглавные буквы. Например, предыдущий пример может создать следующий вывод
(some source code here)hello, wORld(some source code here)
Каждое «(некоторый исходный код здесь)» в этих примерах может меняться после каждого выполнения или может быть одинаковым.
Ваш вывод должен содержать правильную строку hello world ровно один раз. Может содержать любое количество недопустимых строк hello world. Исходный код может содержать любое количество комментариев, а строка hello world может быть встроена в комментарии. Первая программа может иметь либо ноль, либо одну допустимую строку hello world, но не более.
Действительна следующая пунктуация:
hello, world
hello world
helloworld
Любая капитализация приемлема. Например, это допустимые строки hello world:
Hello, world
hellO WORld
HELLoworlD
Эти строки не действительны:
Hello world
Hello(newline)world
Hello,world
Hello, Steve
Ваша программа завершается ошибкой, как только выполняется одно из следующих условий:
- Он выводит строку приветствия, которая была выведена во время более раннего выполнения,
- вывод больше не является допустимым исходным кодом на том же языке, или
- вывод не содержит ровно одну действительную строку hello world.
Ваша программа не подходит для этого конкурса, если по крайней мере два первых исполнения не будут успешными. Это означает, что третий вывод может быть недействительным. Вывод вашей программы может быть не случайным. Первое выполнение всегда должно создавать один и тот же второй вывод, второе выполнение всегда должно создавать один и тот же третий вывод и т. Д.
Оценка рассчитывается как количество байтов в исходном коде исходной программы. Самый низкий балл побеждает.
Применяются следующие бонусы (до -60%):
- -5% * (N - 2), где N - индекс выполнения, после которого ваша программа выдает неверный вывод. Этот бонус ограничен на -50%. Если ваша программа будет выполнена 12 или более раз, вы получите максимальный бонус.
- -10%, если ваши выходные данные (включая первый исходный код) включают все три допустимых варианта пунктуации.
Ваша заявка должна содержать первый исходный код, и он также должен содержать результаты успешных выполнений. Если ваша программа выполняется более 12 раз, добавьте вывод для 12 выполнений.
пример
Следующая строка - первый исходный код. Когда мы выполняем это, это первое исполнение.
hello world(some source code here)
Следующая строка - это вывод из первого исходного кода. Это первый выход.
hello, world(some source code here)
Следующая строка - это выход из второго выполнения. Это второй выход.
helloworld(some source code here)
Когда мы выполнили первый вывод, эта программа получила право на бонус -10%. Это означает, что у нас есть два выхода и один оригинальный код, каждый из которых имеет различную пунктуацию. Более того, поскольку второй вывод был действительным, эта программа подходит для этого конкурса.
Следующая строка - вывод из третьего исполнения. Это третий выход.
Helloworld(some source code here)
Следующая строка - результат четвертого выполнения. Это четвертый выход.
hellworld(some source code here)
Этот вывод был недействительным. Индекс последнего действительного выполнения был 4. Эта программа имеет право на бонус -5% * (4 - 2) и бонус -10% от пунктуации. Это составляет всего -20%. Длина первого исходного кода («Привет, мир (здесь немного исходного кода)») составляла 34 байта, поэтому итоговая оценка составляет 27,2.
hello world
?