Раздел грабителей
Раздел полицейских можно найти здесь .
Вызов
Ваша задача состоит в том, чтобы outgolf Доводы ментов на одном языке и той же версии (например, Python 3.5 ≠ Python 3.4 , так что не допускается). Отправка лишается возможности, когда длина в байтах короче, чем исходная отправка. Вам нужно всего лишь убрать 1 байт , чтобы взломать заявку. Например, если задача состояла в том, чтобы выполнить 2 × n , и представление было следующим:
print(2*input())
Вы можете обойти копа, сделав следующее:
print 2*input()
Или даже это (так как лямбды разрешены):
lambda x:2*x
Отправьте это со следующим заголовком:
##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link}
Например:
Python 2,
1612 байт, Adnan (+ ссылка на представление)lambda x:2*x
Вычисляет A005843 , (смещение = 0).
В этом случае вы взломали представление.
счет
Человек, который взломал большинство представлений, является победителем.
правила
- Заявление о взломе должно быть на том же языке, что и представление от полицейского.
- Один и тот же вход должен приводить к одному и тому же выходу (поэтому a (2) = 4 должно оставаться 4).
- Для таких языков, как Python, вы можете импортировать стандартные библиотеки, включенные в язык. (Таким образом, нет NumPy / Симпи и т. Д.)
- Вход и выход представлены в десятичном формате (основание 10).
Заметка
Этот вызов закончен. Победитель раздела « Грабители » - feersum . Окончательные оценки для CnR показаны ниже:
- feersum : 16 трещин
- Денис : 12 трещин
- Утечка монахини : 6 трещин
- Линн : 4 трещины
- миль : 3 трещины
- Мартин Эндер : 2 трещины
- Эминья : 2 трещины
- jimmy23013 : 1 трещина
- Sp3000 : 1 трещина
- рандомра : 1 трещина
- алефальфа : 1 трещина
- Nimi : 1 трещина
- Разрушаемый Арбуз : 1 трещина
- Дом Гастингс : 1 трещина
(**)&2
. Я пытался2&(**)
и потерпел неудачу. :((**)&2
прекрасно работает для меня: / но это тоже работает.Желе ,
54 байта , Джордж В. УильямсПопробуй это здесь.
Скрытая особенность!
Если я правильно помню,
ÆḊ
(A) = sqrt (det (AA T )) равно n! раз п мерный мера Лебега из симплекса , образованного п входной точки и начало координаты в м - мерном пространстве. При n = 1 оно вырождается на евклидово расстояние. Не так уж и странно ...источник
Ḋ
иḞ
находятся в диапазоне UTF-16. Это сделало бы это решение 6 байтами, предполагающими неоднородное кодирование, и 8 байтами, предполагающими однородное кодирование. Спрашиваю честно здесь.Гексагония ,
9133 байта, синийРазвернутая:
Попробуйте онлайн!
Все еще выглядит несколько играбельно, но я решил опубликовать его до того, как FryAmTheEggman превзойдет меня. ;)
объяснение
Вот некоторые пути выполнения с цветовой кодировкой:
Тем не менее, они излишне запутаны из-за игры в гольф. Вот точно такой же код с более разумным расположением:
Так-то лучше. И, наконец, вот диаграмма памяти, где красная стрелка указывает начальное положение и ориентацию указателя памяти (MP):
Суть в том , что я итеративно вычисления чисел Фибоначчи на трех ребер , меченных F (я) , е (г + 1) и F (I + 2) , сохраняя при этом итератора по краям A , B и C . При этом роли этих ребер циклически меняются после каждой итерации. Посмотрим, как это происходит ...
Код начинается с серого пути, который выполняет начальную настройку. Обратите внимание, что f (i) уже имеет правильное начальное значение
0
.Теперь зеленая дорожка - это основной цикл.
_
и>
просто зеркала.Таким образом, МП перемещается по внутреннему триплету ребер, вычисляя последовательные числа Фибоначчи, пока не
n
достигнет нуля. Затем, наконец, красный путь выполняется:Диаграммы, сгенерированные с помощью Timwi HexagonyColorer и EsotericIDE .
источник
Haskell,
54 байта, xnorПростое карри.
источник
Stack Cats,
1413 байтов, feersumс
-nm
флагами для +4 байта. Попробуйте онлайн!Хорошо, эта петля была чокнутой. Я попробовал несколько подходов, таких как грубое форсирование по сокращенному алфавиту и грубое форсирование
3x+2
или5x+4
и попытка его расширить, но я никогда не ожидал, что решение на самом деле будет содержать цикл.Лучший способ увидеть, как это работает, - добавить
D
флаг для отладки (запускается с ним-nmD
) и включить отладку для вышеуказанной ссылки TIO.{}
Цикл запоминает вершину стека в начале цикла, и завершает работу , когда в верхней части стека является то , что значение снова. Внутренняя часть цикла делает забавные вычитания и циклические вычисления трех верхних элементов стека, и именно так цикл запускается на протяжении стольких итераций.источник
Сесос,
1411 байт, Лики НунВычисляет n 2 . Попробуй это здесь.
Шестнадцатеричный дамп:
Из сборки:
источник
1 + 3 + … + (2n–1)
вместоn × n
:)Горестно,
776759 байт, разрушаемый арбузЯ пытался прочитать исходный код для этого языка, но это было слишком запутанным. Во-первых,
ip[1]
это номер строки, а номерip[0]
столбца, в то время какcp
координаты используются наоборот. Тем не менее, иногда значениеcp
присваиваетсяip
. Я перестал пытаться понять, что делает программа, и нашел способ закодировать идентичную последовательность инструкций, используя меньшее количество тактов.источник
Brachylog ,
2721 байт, FatalizeПопробуйте онлайн!
источник
J,
1712 байт, мильПрактически так же, как оригинал, просто больше в гольф. :)
i:
Наличие+1
диапазона по сравнению сi.
полезно (и странно). Если вы используетеi.
здесьn=0
будет неправильно, но, к счастью,i:
решает это.Попробуйте это онлайн здесь.
источник
i:
нулями для отрицательных значений. Моя версия была+/@(]!2*-)i.,]
.М,
106 байт, ДенисУчитывая n , он вычисляет n- й уровень факториала от n . Это было забавное упражнение!
Код может работать как Jelly, так что вы можете попробовать его онлайн .
объяснение
источник
Снеговик,
5044 байта, дверная ручкаПопробуйте онлайн!
источник
((}#1nG|#2nMNdE0nR2aGaZ::nM;aF;aM:nS;aF,nM*))
.Haskell,
1514 байтов, xnorЯ потратил бесполезную пару часов на обучение расшифровке «бессмысленного» синтаксиса ...
until
Я нашел это вместо этого.Или для менее медленных 13 байтов
until odd(+1)
.источник
Python 2,
4340, xsotисточник
Пике,
119 байт, мутная рыбаПопробуй это здесь!
Как это работает
источник
hV~oX*o+
. Мой 5-байтовый ответ былSDmX^
~o
это аккуратно. Я понятия не имею, чтоSDmX^
делает хотя.m
влияет только на,X
а не на^
? Это многое объясняет.m
и похоже использовать только следующий узел. Любые комментарии к моим документам и т. Д.?05AB1E ,
74, Эминьяисточник
Желе,
2221 байт, ДенисЯ потратил несколько часов на чтение исходного кода Jelly для последнего, поэтому я мог бы также использовать этот «навык» для использования. Я надеюсь, что @Dennis поделится с нами своими математическими открытиями, позволившими укороченную формулу (при условии, что есть что-то, а не только странные трюки с желе!).
источник
J,
2019 байт, мильЭто вычисляет произведение как сумму квадратов чисел Фибоначчи, которые рассчитываются как сумма биномиальных коэффициентов.
К счастью, @miles сам разместил код для генерации чисел Фибоначчи в этом комментарии .
источник
Точность !! ,
526525 байт, DLoscЯ понятия не имею, как это работает, но я смог заметить небольшое улучшение.
источник
Haskell, 10 байт, xnor
Пример использования:
map ( gcd=<<(2^) ) [1..17]
->[1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,16,1]
.Как это работает: С странице OEIS мы видим , что
a(n) = gcd(2^n, n)
и написано в синтаксисе Haskell:a n = gcd (2^n) n
. Функции с шаблономf x = g (h x) x
могут быть превращены в бессмысленные с помощью функции=<<
:,f = g =<< h
следовательно,gcd=<<(2^)
которая переводится обратно вgcd (2^x) x
.источник
Сесос,
149 байт, Лики НунВычисляет n мод 16 . Попробуй это здесь.
Hex:
Монтаж:
источник
Питон,
3917 байт, разрушаемый арбузисточник
05AB1E,
94 байта, EmignaПопробуйте онлайн!
Вычисляет эту функцию вместо:
источник
Гексагония ,
76 байт, АднанРазвернутая:
Попробуйте онлайн!
Та же идея, немного другой макет.
источник
MATL,
1110 байт, Луис МендоВместо выполнения -1 ^ length (массив) он преобразует элементы в логические значения (которые всегда равны 1), отрицает их и получает произведение элементов.
источник
Желе,
1110, ДенисВекторизованная версия того же подхода.
Попробуйте онлайн!
источник
05AB1E,
108 байт, АднанПопробуйте онлайн .
источник
µNÂʽ
для 5 байтов. Предположительно секретная версия.Brachylog,
1110 байтов, FatalizeПопробуйте онлайн!
объяснение
Brachylog - это язык, основанный на Прологе, чья самая большая способность - доказывать вещи.
Здесь мы докажем эти утверждения:
источник
Желе,
98 байт, ДенисСожалею! Я не смог найти ваше намеченное решение.
Это зависит от того,
C(n+k-1, k)
сколько способов выбратьk
значенияn
с заменой.Примечание. Это неэффективно, поскольку генерирует возможные наборы для их подсчета, поэтому старайтесь избегать использования больших значений n в сети.
Попробуйте онлайн или проверьте до n .
Позже я нашел еще одну 8-байтовую версию, которая достаточно эффективна для вычисления n = 1000. Это вычисляет значения с использованием биномиального коэффициента и позволяет избежать генерации списков.
Попробуйте онлайн или проверьте до n .
объяснение
источник
M,
98 байт, Dennisисточник
QBasic,
3029 байт, DLoscисточник