JavaScript (ES6), 63 bytes, SLuck49
Original:
x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)
Grieta:
x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)
El código base64 anterior se decodifica para:
Math.pow(x-1,0.5) //...
donde el ...
representa un montón de basura aleatoria que es ignorada por el intérprete JS, ya que está en un comentario.
Encontré esta solución por prueba y error. Al final, la única parte realmente difícil fueron las dos nuevas líneas al principio del código, necesarios para hacer la línea resto correctamente y para conseguir la M
en Math
a base 64 a codificar en algo que estaba disponible en el juego de caracteres originales. Primero probé espacios, pero " M"
codifica en base64 "ICBN"
y necesitaba el único disponible B
para codificar ".po"
más adelante en el código. "0+M"
, "1*M"
, "1?M"
O cualquier otro prefijos no-op similares que podría pensar en no funcionó bien, pero los saltos de línea hicieron.
Sospecho que esto puede no ser exactamente la solución prevista, pero lo que sea, funciona. :)
Manifestación:
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)))