Ваша задача - написать 5 разных полных программ для 5 следующих задач:
Распечатать
Hello, World!
Учитывая вход с STDIN, выведите факториал, вы можете предположить, что вход является целым числом> = 0
Дано целое число N, вычислить сумму простых чисел <= N
Учитывая ввод с помощью STDIN, выведите буквы, использованные при вводе. Например: вход есть
Hello world
, вам нужно вывестиhelowrd
. Обратите внимание, что вывод в нижнем регистре. Вы можете предположить, что ввод всегда алфавитный с пробелами, пробелы игнорируются.Выведите следующий бриллиант в точности так:
* *** ***** ******* ***** *** *
Все эти проблемы, вероятно, очень просты, но есть одна загвоздка. Каждую букву, которую вы используете, нельзя использовать снова в других программах. Это не запрещено, но даст вам штраф +8 байт . Например, если это ваша программа для первого задания:
print("Hello, World!");
Тогда вы не можете использовать следующие буквы (в верхнем или нижнем регистре форме): p
, r
, i
, n
, t
, h
, e
, l
, o
, w
, d
в других программах. Если вам нужно их использовать, вы можете «купить» каждую букву за 8 байтов. Так что если вы хотите снова использовать букву l
в другой программе, вы получите штраф в 8 байт. После того, как вы заплатили штраф, вы можете использовать каждую букву столько, сколько хотите в этой программе. Другие персонажи не имеют значения. Также все 5 программ должны быть на одном языке.
Это код-гольф , поэтому выигрывает наименьшее количество байтов!
Ответы:
CJam, 73 байта
Каждая строка - это полная программа. Попробуйте их онлайн: 1 | 2 | 3 | 4 | 5
Письменная карта
Если вы хотите (и каждая из ваших программ помещается в одну линию), вы можете использовать эту программу CJam для создания буквенной карты для вашего собственного представления.
источник
Pyth, 90 байт
Первая попытка...
Задача 1: 20 байт
Задача 2, 3 байта
Задача 3, 9 байт
Задача 4, 6 + 8 = 14 байт
Задача 5, 44 байта
источник
osascript, 759 байт
Я знал, что это будет много, когда я начал. оо
Задача 1: 15 байт
Я знал, что с этого момента все будет плохо.
Задача 2: 64 + 8 * 4 = 96 байт
О боже
Задача 3: 170 + 8 * 13 = 274 байта
Деннис ≠ переиграл.
Задача 4: 225 + 8 * 13 = 329
...
Задача 5: 45 байт
Так что да. Я знал, что проиграю с самого начала. Но это было интересно, мне было бы интересно узнать, есть ли способ сделать это с меньшим количеством символов. Карта персонажей (предоставленная Денисом):
Количество символов, приведенное выше, немного отличается - новые строки сделали его проблемным, так как новые строки были не учтены.
ПРИМЕЧАНИЕ. Причина, по которой вы не используете такие вещи
a's characters
или тому подобное, заключается в том, что этот'
символ необходимо использовать при выполнении из командной строки osascript. Если бы я использовал'
, я бы использовал\'
или что-то подобное, что не помогло бы мне вообще. Кроме того, он распознает только"
как струнные захватчики, так что я тоже был там вроде как. Но это было весело.источник
NARS2000 APL, 144 байта (85 символов)
Задача 1, 21 байт (17 символов)
Задача 2, 10 байт (4 символа)
Задача 3, 22 байта (11 символов)
Задача 4, 53 байта (29 символов)
Задача 5, 38 байт (24 символа)
источник
⎕
для печати вне REPL.Желе , 46 байт (не конкурирует)
Попробуйте онлайн! (Скопируйте / вставьте каждый фрагмент)
Видимо, ограничение не ограничивало игру в гольф :) Просто предложения по последнему, конечно, пожалуйста.
источник