Вам нужно сделать три вещи:
- Постановка задачи, т .
- Решение задачи на языке обычно не используется для игры в гольф, A .
- Решение задачи на языке обычно используется для игры в гольф, B . Не пытайтесь просто раздуть B, чтобы накачать счет, вместо этого думайте, как будто B был написан вашим конкурентом.
Используйте здравый смысл в определении typically used for golfing
, старайтесь максимально развлечь других пользователей.
Другие пользователи могут предложить лучшие B
s (может быть, в том числе на других языках "гольф").
Скоринг есть (length_in_bytes(B)+5)/(length_in_bytes(A)+5)
, чем больше, тем лучше. (Может быть, формула оценки должна быть изменена? ..)
Основная идея состоит в том, чтобы придумать задачу, в которой языки, которые обычно хорошо работают в Codegolf, сталкиваются с проблемой. Это может быть внезапная сила обычного языка в данном задании или внезапная слабость какого-то гольф-поля.
Избегайте задач, которые упоминают конкретные языки программирования, например Input a string and execute it as a Scheme code
.
Ответы:
Мой предыдущий вопрос, Печать синусоидальной волны (по вертикали), отвечает на данный момент. Я публикую это здесь в качестве решения, также надеясь, что вы, ребята, сможете придумать несколько более коротких решений моего первоначального вопроса.
В соответствии с требованиями Vi. Я опубликую краткое изложение вопроса.
Напечатайте непрерывную синусоидальную волну, прокручивая вертикально на терминале. Программа не должна завершаться и должна непрерывно прокручивать волну вниз (кроме как до SIGINT). Вы можете предположить, что переполнение не является проблемой (то есть вы можете использовать бесконечные циклы с увеличивающимися счетчиками или бесконечную рекурсию).
Волна должна удовлетворять следующим свойствам:
|
На моем первоначальном вопросе есть пример вывода, но я не буду публиковать его здесь, потому что это сделает мой ответ до смешного длинным. Мой оригинальный вопрос можно увидеть здесь: Распечатать синусоидальную волну (вертикально)
Самый короткий на
A
данный момент: Perl-решение с 48 символами: https://codegolf.stackexchange.com/a/18655/12205Самый короткий в
B
настоящее время: решение J с 54 символами: https://codegolf.stackexchange.com/a/18649/12205В настоящее время оценка этого ответа составляет 1,113 (очень низкий балл)
источник
Добавьте два числа
Получить два числа из STDIN и сложить их вместе. Вы должны поддерживать числа с плавающей запятой, поэтому 0,5 + 1,5 должно равняться 2.
Perl 5 (с
-E
)GolfScript
источник
(24+5)/(8+2+5) = 1.9(3)
.-E
также считается как программные байты.n%'+'*'"#{ }"'n/\*~
символ между ними{}
является буквальным символом новой строки (не поддерживается в комментариях).+/".1!:1,~1
. APL, вероятно, будет еще меньше.Распечатать «Привет, мир!» на стандартный выход.
PHP, 13 байт
Golfscript, 15 байтов
Pyth, 14 байт
источник
H
Оценка 48/37 или 1. (297)
T: написать фрагмент кода, который завершает программу ровно через час (как можно ближе, как в течение секунды) работы. Не беспокойтесь об исключениях, они могут быть обработаны.
A: Java (32)
B: для Befunge 98, требуется отпечаток ВРЕМЕНИ (43)
Это берет Hour, Minute и Second во время выполнения и помещает в ячейки 02, 01 и 00. Затем он пропускает во
;
вторую часть. Вторая часть работает следующим образом:аналогично для минуты и часа.
Обратите внимание, что Befunge автоматически вернется к началу строки, когда будет достигнут конец строки.
Как мы видим, Befunge не очень хорош в ожидании определенного времени. Тем не менее, Java не плохая.
источник
⎕DL 3600
class Main{public static void main
...System.exit(0);
или обернуть ваш сон вmain
методе.error: not a statement
Вывести определенный текстовый файл (498,388888 баллов)
Вывод цели здесь .
Скрипт Python 3.4.3 для печати занимает 49 байт:
Наивная программа CJam, равная выходному значению цели, путем оборачивания выходной строки
"..."
и экранирования каждой,"
которая в ней встречается, будет иметь размер 26908 байт.источник
Скажи "Привет, мир!" (50/26 ≈ 1,92)
Покажите окно сообщения, чтобы сказать «Привет, мир!»
JavaScript
В браузере с поддержкой DOM Level 0+.
Perl
Запуск на ActivePerl с Win32 :: GUI.
источник
alert
не является неотъемлемой частью JS, а программа GolfScript - это просто комментарий.Вывод "Привет, мир!" пока пользователь не нажмет "q",
1.842105/44 = 2.386QBasic (
5239 символов)После публикации моего исходного ответа я обнаружил, что могу отключить автоформатирование в QB64. : ^ D С номером строки и
?
ярлыком дляPRINT
, это выглядит скорее как троичное выражение в C-подобных языках.Первая версия:
Perl 5 (100 символов)
Вышеуказанное будет работать только на (определенных?) Системах UNIX (протестировано в Ubuntu 12.04). Возможно, что можно использовать кроссплатформенность и уменьшить его до 91 символа с помощью модуля Term :: ReadKey , но я не проверял это:
источник
Привет, мир (3 1/3 балла)
Напишите программу, которая выводит
Hello World.
.HQ9 + (1 символ)
Это не язык, «обычно используемый для игры в гольф», поэтому я считаю, что он подходит здесь. Работает в этом переводчике, кстати .
GolfScript (15 символов)
Я сомневаюсь, что он может стать короче, даже если это GolfScript.
источник
HQ9+
костюмы как A языке. Он предназначен для трюков / загадок / веселья. Brainfuck / unlambda / другие эзотерических языки также , кажется, не костюм как А .HQ9+
как язык B и превзойти его с помощью Java или другого ...Выведите «Hello world!», 33/97 = 2,94
Напишите программу, которая выводит
Hello world!
Arduino или GML
или
Оба - 28 персонажей.
GTB
Я часто использую GTB для игры в гольф (особенно после того, как я создал его сам, и он завершен по Тьюрингу). К сожалению, поддержка строчных букв ограничена (потому что калькулятор TI-84 не может справиться с этим). Это, вероятно, самая короткая GTB-программа, которая может выводить Hello world!
92 персонажа.
источник
cos
s,exprs
или она не может просто выводить что-то обычным способом? Или"
персонаж на самом деле не является строковым литералом и сбивает меня с толку ..."Hello world!"