На основании этого вызова.
В ритм-игре osu! Модификатор сложности «Двойное время» увеличивает скорость только на 50%.
Ваша задача состоит в том, чтобы написать программу, которая выводит положительное четное целое число (больше 0), и когда каждый байт / символ (ваш выбор) в вашем исходном коде дублируется, он должен вывести число, умноженное на 1,5.
Например, если ваш исходный код ABC
и что выводит 6, то AABBCC
должен вывести 9.
Следуя правилам оригинальной задачи:
правила
- Вы должны построить полную программу.
- Исходный источник должен быть длиной не менее 1 байта.
- Оба целых числа должны быть в базе 10 (вывод их в любую другую базу или с научными обозначениями запрещен).
- Ваша программа не должна принимать входные данные (или иметь неиспользуемые, пустые входные данные) и не должна выдавать никаких ошибок (предупреждения компилятора не считаются ошибками).
- Вывод целых чисел с концевыми / ведущими пробелами разрешен.
- Вы не можете использовать новую строку между копиями вашего источника.
- Это код-гольф , поэтому побеждает меньшее количество байтов на каждом языке !
- Применяются стандартные лазейки .
Я предполагаю, что это будет гораздо менее тривиально, чем первоначальный вызов, но, надеюсь, мы увидим некоторые креативные и уникальные ответы!
code-golf
source-layout
Skidsdev
источник
источник
write a program that outputs a positive even integer
Да, будет. Каждое четное число можно умножить на 1,5, чтобы получить целое числоfull program
. Трудно представить, что дублированная программа все еще имеет действительную точку входа / функцию.Ответы:
Пилоны ,
754 байтаПодбрал случайный язык на ТИО, использовал его
Объяснение:
Попробуйте онлайн!
Вдвое:
Сохранено 2 байта благодаря officialaimm
Сохранено 1 байт благодаря Veedrac
источник
4/6vt
тоже работает ...46vt
сделал бы то же самое?Желе , 2 байта
Попробуйте онлайн!
Объяснение:
Двойная версия:
Попробуйте онлайн!
Объяснение:
источник
LibreOffice Calc, 8 байт
Сохраните его как
*.csv
и откройте в LibreOffice Calc. Вы получите 22 в А1.Удвой их:
Вы получите 33 в A1
источник
MATL , 3 байта
Попробуйте онлайн! Или удвоенная версия .
объяснение
В MATL скалярное значение (число, символ, логическое значение) совпадает с массивом 1 × 1, содержащим это значение.
Нормальная версия:
Двойная версия:
источник
:)
[мы иногда используем это, чтобы получить первыеn
элементы из массива ...]VIM, 5
Без удвоения:
С удвоением:
источник
Не уверен, что этот ответ действителен. Просто напишите здесь на случай, если кто-то может получить идеи отсюда.
Node.js с флагом -p, 7 байтов
По Алекс Варга :
Node.js с флагом -p, 11 байтов
Старый:
Выход 22 и 33.
источник
-p
флаг для вывода значения выраженияPython 2 REPL, 11 байт
Это просто оценивается как 3 * 2 = 6. Дублированный, это
который оценивается в 3 ** 2, что составляет 3 в степени 2 или 9.
источник
APL, 7 байт
Печать
2
.Печать
3
.Попробуйте онлайн!
Waaat?
Не замужем:
Double:
источник
На самом деле , 3 байта
Попробуйте онлайн!
Объяснение:
Двойная версия:
Попробуйте онлайн!
Объяснение:
источник
CJam , 4 байта
Попробуй нормально!
Попробуй вдвое!
объяснение
Обычный:
Double:
источник
AB],
тоже работает.05AB1E , 2 байта
Попробуйте онлайн!
Объяснение:
Двойная версия:
Попробуйте онлайн!
Объяснение:
источник
Нейм , 2 байта
Попробуйте онлайн!
Объяснение:
Двойная версия:
Попробуйте онлайн!
источник
Pyth, 3 байта
Попробуй это здесь.
Объяснение:
Двойная версия:
Попробуй это здесь.
Объяснение:
источник
R 11 байт
Попробуйте онлайн!
!
это отрицание, и**
возведение в степень (псевдоним для^
). Числа преобразуются в логические:0
дляFALSE
всех остальныхTRUE
. Булевы преобразуются в целые числа:FALSE
в0
,TRUE
к1
, так!0==1
,!1==0
,!!00==0
и!!11==1
.источник
*
и**
, но ты меня опередил!!0
раздражает). Может быть что-то короче с-
и*
, но я еще не нашел такого решения ...Cubix , 6 байтов
Печать
2
.Нажимает
1
,)
увеличивает,W
переходит влево кO
выходным данным2
и@
завершает программу.Это, очевидно
OO..11))WW@@
, вдвое больше , чем на кубе:Он нажимает
1
дважды,)
увеличивает его вдвое,W
снова переходит влево, что ставит его в правое положениеO
на север, которое выводит3
, а затем следующая команда,@
которая завершает программу.Попробуйте онлайн!
Двойной онлайн!
источник
Кляйн ,
86 байтОдноместный , двухместный
объяснение
Для сингла программа следует довольно простым путем. Первое зеркало отклоняет его во второе, которое отклоняет его
4
до конца программы.Двойник немного сложнее. Вот:
Первые два зеркала работают одинаково, однако есть новое зеркало из-за удвоения, которое отклоняет ip обратно в начало, оно захватывается дубликатом первого зеркала и отклоняется к концу. Все, что запускается, это то,
33++
что оценивается до 6.источник
TI-Basic, 3 байта
Не замужем:
Последнее выражение неявно возвращается / печатается в TI-Basic, так что это печатает
2
Вдвое:
Возвращает / печатает 3
TI-Basic - это токенизированный язык ;
int(
,√(
и8
каждый байт в памяти.источник
Ruby REPL, 8 байтов
РЕПЛО печатает только последнее значение оцененное:
22
.Вдвое:
Это время
33
является последним оцененным значением. Строка отбрасывается еще раз, и#
начинается комментарий.источник
> <>,
198 байтПринты
22
Попробуйте онлайн!
Объяснение:
Вдвое:
Принты
33
Попробуйте онлайн!
Объяснение:
Старая версия:
Нормальная:Принты
2
Попробуйте онлайн!
Объяснение:
Вдвое:
Принты
3
Попробуйте онлайн!
Объяснение:
источник
Zsh , 14 байтов
Попробуйте онлайн!
Получение полной программы на языке, не относящемся к гольфу, для печати чего-либо с дублированным исходным кодом, как это является проблемой. Zsh очень полезен для этого, потому что файлы и heredocs неявно передаются
cat
. Давайте посмотрим на первую строку в обоих случаях:Пока
3
это не программа, первая программа будет только печатать22
. Вторая программа будет печататься в33
окружении дополнительных строк (из-за дублирования).Если
3
это функция / программа / псевдоним, то это 18-байтовое решение все равно будет работать!Попробуйте онлайн!
Последнее
\
является продолжением строки, поэтому новая строка отбрасывается, что делает оператор echoecho '22\c3'
. В\c
причинах эха остановить печать после того, как22
(что также происходит подавление новой строки).источник
Perl 6 , 14 байт
Попробуйте онлайн! Попробуй вдвое!
Это использует удобно названную функцию отладки,
dd
чтобы вывести удвоенную программу к STDERR. Чтобы отделить логику, мы заключаем дублированную программу в кавычки, которые затем дублируют друг друга при дублировании вместе с символом#
комментария, чтобы закомментировать недопустимую обычную программу.источник
Stax , 3 байта
Запустите и отладьте его
Запустите и отладьте дублированный
U
толкает -1.J
квадраты.^
приращения.источник
MathGolf , 2 байта
Попробуйте онлайн! Попробуй вдвое
Подобно другим ответам в том, что первая инструкция выдает
1
четное число при удвоении, а вторая увеличивает его. В этом случае я использовал обратное возведение в степень (0**0 = 0**0**0 = 1
), но это также могла быть любая из!£≤°
инструкций и, возможно, даже больше, что я пропустил.источник
Japt , 2 байта
Еще одно решение "факториал + 1".
Попробуй это
Попробуй это
источник