JavaScript (ES6), 63 byte, SLuck49
Nguyên:
x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)
Crack:
x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)
Mã base64 ở trên giải mã thành:
Math.pow(x-1,0.5) //...
trong đó ...
viết tắt của một đống rác ngẫu nhiên bị bỏ qua bởi trình thông dịch JS, vì nó là một bình luận.
Tôi tìm thấy giải pháp này bằng cách dùng thử và lỗi. Cuối cùng, phần duy nhất thực sự khó khăn là hai dòng mới vào đầu của mã này, cần thiết để làm cho các dòng còn lại lên đúng cách và để có được M
trong Math
để base64 mã hóa thành một cái gì đó là có sẵn trong bộ ký tự ban đầu. Trước tiên tôi đã thử các khoảng trắng, nhưng " M"
mã hóa base64 vào "ICBN"
và tôi cần chỉ có sẵn B
để mã hóa ".po"
sau này trong mã. "0+M"
, "1*M"
, "1?M"
Hoặc bất kỳ tương tự tiền tố không-op khác tôi có thể nghĩ đến đã không làm việc một trong hai, nhưng dòng mới đã làm.
Tôi nghi ngờ đây có thể không chính xác là giải pháp dự định, nhưng bất cứ điều gì - nó hoạt động. :)
Bản giới thiệu:
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)))