JavaScript (ES6), 63 байти, SLuck49
Оригінал:
x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)
Тріщина:
x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)
Код base64 вище декодує для:
Math.pow(x-1,0.5) //...
де ...
стоїть купа випадкового сміття, яке ігнорується перекладачем JS, оскільки це в коментарі.
Я знайшов це рішення шляхом спроб та помилок. Зрештою, тільки на самому ділі складна частина були дві нових рядків на початку коду, потрібно зробити інше лінії правильно і отримати M
в Math
до base64-кодування в те , що було доступно в вихідному наборі символів. Я спершу спробував пробіли, але " M"
base64-кодує, "ICBN"
і мені знадобився єдиний доступний B
для кодування ".po"
пізніше код. "0+M"
, "1*M"
, "1?M"
Або будь-які інші подібні до них не-оп префікси я міг думати не вийшли, але переклади рядка зробили.
Я підозрюю, що це може бути не саме намічене рішення, але все, що він працює. :)
Демонстрація:
var f = x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)
var g = x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)
for (var i = -0; i <= 10; i++) console.log(i, '->', f(i), '->', g(f(i)))