Задача: Взломать скремблированный код для умножения квадратного корня из целого числа n на квадрат этого!
Вы должны оставить комментарий в ветке полицейских со ссылкой на ваш рабочий источник, четко упомянув, что вы взломали его . В заголовке ответа необходимо указать ссылку на исходный ответ.
Правила:
- Вы можете изменить только порядок символов в исходном коде.
- Безопасные ответы больше не могут быть взломаны.
- Другие правила, упомянутые в ветке полицейских
- Пожалуйста, отредактируйте ответ, который вы взломали
ПОБЕДИТЕЛЬ: Emigna - 10 подчиненных (возникли проблемы с подсчетом)
Похвальные грамоты: Notjagan, Plannapus, TEHTMI
code-golf
number
arithmetic
cops-and-robbers
Мистер Xcoder
источник
источник
JavaScript (ES7), Нил
Самым сложным, конечно, было выяснить, что делать со всеми дополнительными персонажами. (А также не публиковать это решение в неправильной ветке, как я это сначала сделал случайно. Упс ...)
источник
_26_=>
определяет анонимную функцию, принимающую один названный параметр_26_
(переменные могут начинаться с подчеркивания, но не с цифры). Затем остаток просто использует ,**
какMath.pow()
повысить вклад в степень 2,5 (6,25) 0,5 мощности._26_
было что-то особенное ES7. Не знал, что переменные тоже могут быть в этой форме! (Я никогда не видел переменную без алфавита). Это был очень умный подход @Neil. И вы были очень умны, чтобы взломать его! Имейте свои заслуженные +1! :)Python, 15 байт, мистер Xcoder
Довольно просто Просто берет
x
и возносит его к2.5
власти.источник
OCaml, 13 байт, shooqie
Попробуйте онлайн!
источник
C ++ (gcc) , 100 байт, Mr. Xcoder
Попробуйте онлайн!
источник
using
и просто делаяint main(){float n;std::cin>>n;std::cout<<pow(n,2.5);}
Хаскелл, Лев
Точечная функция с именем
x
. Использование:x 4
->32.0
источник
Информ 7 , corvus_192
Круто, запись Inform7. :) Я просто должен был попробовать.
Я почти уверен, что это намеченное решение:
Обратите внимание, что это решение работает только в том случае, если оно скомпилировано с бэкэндом Glulx из-за использования
real square root of
функции.Кстати, двойные кавычки и квадратные скобки на самом деле не нужны; просто
say n * n * real square root of n
будет работать так же хорошо. Точки в конце команд также могут быть опущены; или мы могли бы сохранить первый период и вместо этого избавиться от новых строк. Другие части кода, которые мы могли бы урезать, включают в себя статью «а» перед «комнатой» и пробелы перед скобками и после двоеточия. К счастью, поскольку у нас есть запасная пара скобок, мы всегда можем использовать их, чтобы закомментировать все эти дополнительные символы. ;) Так что это тоже правильное решение:Для интерактивного тестирования этого решения удобно добавить в код что-то вроде следующего тестового набора:
После компиляции и запуска программы вы можете напечатать, например,
f 4. f 6. f 9. f 25
в>
командной строке и получить что-то вроде следующего:Кстати, я только что заметил, что Inform (или, скорее, Glulx) округляет последнее десятичное число
f 6
неправильного: правильное значение гораздо ближе к 88.18163, чем к 88.18164. К счастью, я не думаю, что это влияет на правильность решения (ий), тем более что в задаче указывалось «любой механизм округления на ваш выбор». :)источник
apt-get install gnome-inform7
.Mathematica, Грег Мартин
Спасибо за то, что оставили округление без изменений!
Объяснение:
#(#)#^(1/(1+1))&@y
делает основную работу умножая вy
квадрате, он жеy(y)
иy
«S квадратного корняy^(1/(1+1))
. Этот#&@@@{1^(1),-1}
бит просто мусор, чтобы использовать другие буквы, и#&@@
выбирает полезный бит из мусора.источник
MATL , 12 байтов, Луис Мендо
Вычислить 10/4 = 2,5 с 4 исходя из длины строки. Используйте это как показатель степени. P здесь не работает.
источник
Python 3, 44 байта, Кайл Гуллион
Те
*
были довольно обманчивы. Очень умно!Из-за довольно ограниченного набора символов я был бы очень удивлен, если бы были какие-либо другие допустимые решения, кроме тривиального переименования или переупорядочения аргументов.
источник
R, Steadybox
кажется анаграммой
funny(p1)-tio(^*^)/pc(2)<p2;
источник
Python 2, 60 байтов, Энтони Фам
Основан на отбрасывании символов с помощью деления с плавающей точкой в Python 2 (по умолчанию для
/
целых чисел).источник
C, 50 байтов, Дейв
Попробуйте онлайн!
Для этого требуется
-lm
флаг компилятора, но я не знаю, как можно было бы решить это без него.источник
\uad2f
на моем). Отлично сработано; Я думал, что оставил там достаточно красных селедок, чтобы люди были заняты намного дольше! Также-lm
мне не понадобился флаг, использующий Clang (я бы об этом упомянул!), Но вы правы, строго говоря, это необходимо.R, Flounderer
Это трещина 33-байтового решения @Flounderer
Использование:
источник
sin(pi)
, но, к сожалению, оно работает! +1scan()^(-floor(-sin(pi)*2e17)/10)
RProgN 2, ATaco
По-видимому, StackExchange нужны дополнительные символы, так что вот и все.
источник
]š\2^*
, но они оба работают одинаково.Ходор, 198, этот парень
Объяснение:
примечание: мне пришлось внести некоторые изменения в интерпретатор get, чтобы он работал на моей машине (опубликованная вами, похоже, не принимает строчную букву h, кроме прочего)
Кроме того, мне кажется, что у меня недостаточно представителей, чтобы комментировать, поэтому, если бы кто-то мог сообщить об этом @ Guy, я был бы признателен
Я думаю, что это исправило ошибку, код теперь начинается с Walder вместо Wylis, который добавляет дополнительный байт
источник
C #, 172 байта, разнагул
Сложнее всего было понять, что делать со всеми остатками.
источник
EXCEL, 26 байтов Pajonk
A1 в качестве входа IP2 содержит второй вход с # N / A Ошибка в этом случае ISNA (IP2) принадлежит 1
Для дополнительного
()
мы можем сделать этоисточник
=SQRT(A1)*A1^2/SIN(PI()/2)
Если вы устанавливаете #NA Error через форматирование или что-то еще, я бы увидел это как дополнительный второй вход. SQRT и ISNA - единственные две функции, которые имеют небольшой смысл. Но, пожалуйста, спросите человека, который разработал вопросPython 3.6, 64 байта, мистер Xcoder
Может быть, не то, что было задумано, но работает;)
Недостаточно представителей, чтобы прокомментировать ответ ветки полицейских, извините ... Буду признателен, если кто-то сможет сделать это для меня, спасибо!
источник
from math import pi as pp0012223467899;f=lambda x:x**2.5*1*(1)/1
просто чтобы увидеть, как меня избили. Я добавил ссылку на этот пост в ветке полицейских для вас.Röda , 28 байт, fergusq
источник
Python 2.7, Койшор Рой
источник
y=x=e=s
оба работают :)) Хорошая работа в любом случае!Р, Flounderer
Это трещина 31-байтового решения @ Flounderer:
Хорошо, это было сложно. Создает функцию с именем
`[.`
. Вызывается аргумент функции,`]`
который повышается до степени 2,5 с использованием 9-го элемента встроеннойlh
временной последовательности («регулярный временной ряд, дающий лютеинизирующий гормон в образцах крови с интервалами в 10 минут от женщины-человека», 48 образцов . ", который используется в качестве примера в одном из базовых пакетов R).lh[9]
здесь на вершине он заменен его эквивалентом`[`(lh, 9)
. Де-обфусцированная путем заменыf
имени функции иn
имени аргумента, функция становитсяf=function(n)n^lh[9]
.Использование:
источник
Python 2, 44 байта, Энтони Фам
Принимает входные данные из raw_input, конвертирует в int и повышает до 2.5
источник
JavaScript, fəˈnɛtɪk
Получает от 5/2 до 5 раз от 2 до отрицательной первой степени, где 5 и 1 были получены из длины строк. В некотором смысле взял легкий выход, комментируя посторонних персонажей.
источник
C #, 112 байт, Ян Иван
источник
05AB1E , 47 байт, Okx
Попробуйте онлайн!
источник
Огненный шар , 8 байт, окс
Объяснение:
Не уверен, что это работает. В настоящее время у меня нет ноутбука на моем ноутбуке. :(
источник
Z1
INTO1Z
.Haskell , 64 байта, @nimi
Попробуйте онлайн! Это было весело. Сначала я обнаружил,
product.(<$>(($succ(cos$0))<$>[id,recip])).(**)
который ведет себя правильно и чем должен былflip flip <$> () $ id .
где-то вписаться в него.источник
R, устойчивый ящик
Использование:
источник
a=function(s)s**2*s**(0.125*2*2)
05AB1E , 22 байта, P. Knops
Попробуйте онлайн!
объяснение
Остальные операции никогда не выполняются.
Мы могли бы сделать это и без того
q
, чтобы?
после вычисления и экранирования знака равенства, например, с'=
.источник