Nota: Este es el hilo de la policía , donde uno debe publicar el código codificado. Aquí está el hilo de los ladrones donde la fuente descifrada debe publicarse y vincularse a la respuesta del policía.
Tarea: Escriba el programa seguro más corto que multiplique la raíz cuadrada de un entero n por el cuadrado de n
Esto es policías y ladrones , por lo que las reglas son:
- En su respuesta, publique una versión codificada de su código fuente (los caracteres deben escribirse en cualquier orden). ¡La versión codificada no debería funcionar!
- Puede tomar la entrada de cualquier manera estándar, lo mismo ocurre con la salida. La codificación está prohibida
- Después de que los ladrones descifren el código (si esto sucede), debe mencionar que su código ha sido descifrado en su título y agregar un spoiler al cuerpo de su respuesta con su código exacto
- Lo mismo se aplica a las respuestas seguras (mencione que es seguro y agregue el spoiler )
- El código se considera seguro si nadie lo ha descifrado en 5 días después de publicarlo y puede especificarlo opcionalmente en el título
- Debes especificar tu lenguaje de programación
- Debe especificar su recuento de bytes
- Debe indicar el mecanismo de redondeo en su respuesta (ver más abajo)
Se puede suponer que el resultado es menor que 2 32 y n es siempre positivo. Si el resultado es un entero, debe devolver el valor exacto con o sin un punto decimal; de lo contrario, la precisión decimal mínima será de 3 decimales con cualquier mecanismo de redondeo que elija, pero puede incluir más. Debe indicar el mecanismo de redondeo en su respuesta.No puedes regresar como fracciones (numerador, pares de denominador - ¡lo siento, Bash!
Ejemplos:
In -> Out
4 -> 32.0 (or 32)
6 -> 88.18163074019441 (or 88.182 following the rules above)
9 -> 243.0
25 -> 3125.0
La respuesta segura más corta para fines de abril será considerada la ganadora.
fuente
Respuestas:
05AB1E, 20 bytes - seguro
Otro enfoque totalmente diferente de mis respuestas anteriores.
Sin redondeo.
Ejecuciones de ejemplo
No tengo dudas de que @Emigna lo va a romper en un santiamén, ¡pero hay que intentarlo! :-RE
Solución
Esto está usando el hecho de que esta secuencia:
u_0 = 1, u_ {n + 1} = u_n * (u_n ^ 2 + 3 x) / (3 u_n ^ 2 + x)
converge a sqrt (x), y cúbicamente rápido (perdón, no encontré cómo formatear ecuaciones matemáticas en PCG).
Explicación detallada
Pruébalo en línea!
fuente
Python 3 , 44 bytes ( agrietado )
Sin redondeo. Precisión de punto flotante.
fuente
MATL , 12 bytes ( descifrado por @tehtmi )
Sin redondeo; usa punto flotante.
Solución prevista (diferente de la encontrada por @tehtmi):
Explicación
fuente
Röda , 28 bytes ( Agrietado por @tehtmi )
Tenga en cuenta el espacio al principio. Sin redondeo, pero utiliza números de coma flotante, por lo que la precisión es limitada.
fuente
Perl, 42 bytes (Seguro)
Hay 41 bytes de código y
-p
bandera (no hay otras banderas).El resultado no es redondeado (o más bien redondeado al mismo punto que Perl habría redondeado haciendo
$_ = (sqrt $_) * ($_ ** 2)
).Solución:
Explicación:
fuente
$_=
. Y hay uneval
lugar. (eso no es mucho pero siento que no puedo darte más sin darte demasiada información)Octava, 43 bytes (Seguro)
Este es un script que requiere la entrada de la línea de comando (no es una función). Es la precisión de coma flotante (por lo que no hay redondeo).
Solución:
Explicación:
fuente
C, 50 bytes ( agrietado por fergusq )
Utiliza el redondeo estándar IEEE754. Como se señala en la respuesta de fergusq, puede requerir
-lm
dependiendo de su compilador.fuente
Mathematica, 131 bytes, ¿no compite ?, agrietado
¡Esto ha sido descifrado por @ lanlock4 ! Sin embargo, todavía tengo puntos de Internet para otorgar a alguien que encuentre la solución original, donde realmente se necesitan todos los personajes ...
Esto pretende ser un rompecabezas. Aunque puede usar los caracteres anteriores como desee, ciertamente tengo la intención de que la respuesta siga el formulario
donde la primera y la tercera línea son solo un contenedor para hacer que el redondeo y la visualización sean legales (escribe cada salida con exactamente tres decimales, redondeados), y la segunda línea es la versión codificada de las tripas del código. Resultados de muestra:
(Mathematica is non-free software, but there is a Wolfram sandbox where it is possible to test modest amounts of code. For example, cutting and pasting the code
defines a function, which you can subsequently call like
f@6
orf[9]
, that does the same thing as the unscrambled version of the code above. So does this really have to be non-competing?)fuente
Swift - 64 bytes (seguro)
No rounding, and displays a
.0
even if the result is an integer.fuente
Haskell, 16 bytes ( Agrietado por @nimi )
Sin redondeo particular
fuente
R, 28 bytes (Cracked by @Flounderer)
Standard R floating-point accuracy.
fuente
C#, 172 bytes (Cracked by SLuck49)
This code is a full program.
There are seven space characters at the start.
The input is read form STDIN and printed to STDOUT. The result is in
double
, no rounding done.Original Code ungolfed:
fuente
JavaScript (ES7), 20 bytes (Cracked by @IlmariKaronen)
Standard JavaScript precision.
fuente
Python 2, 60 Bytes (Cracked by @notjagan)
No rounding involved. Accurate up to 10 decimal digits.
fuente
Python 3.6, 59 bytes
No rounding. Floating point accuracy.
fuente
Haskell, 64 bytes, (cracked by Laikoni)
Standard Haskell floating point operations.
My original version is:
fuente
Fourier,
124119 BytesThere are no whitespaces or newline characters.
Square root is rounded to the nearest whole number because Fourier doesn't seem to handle anything other than integers (and since @ATaco got permission, I hope this is ok)
fixed an editing mistake, if you were already cracking this, the previous was functional
Realized that I had misunderstood part of the code, and was using more characters than I needed to
If I missed anything let me know
fuente
Inform 7, 71 bytes (Cracked by @Ilmari Karonen)
The code includes 17 spaces and 2 new lines. This is a full Infrom 7 program defining a function that prints the result with a precision of 5 decimal places.
fuente
R, 19 bytes (Cracked by @Steadybox)
Standard rounding
R, 33 bytes (Cracked by @plannapus)
R, 31 bytes (Cracked by @plannapus)
h=f`l`u`n`c`t`i`o`n([],[])^(.9)
fuente
Octave, 30 bytes (Safe)
A bit simpler than my first one. Shouldn't be too hard, but it's hopefully a fun puzzle.
fuente
^
? Hmmm...@(e)(e**((i/(i+i))+~sum(e:j)))
but it's onlyn^1.5
...this one's tricky.Ohm, 11 bytes
Use with
-c
flag. Uses CP-437 encoding.fuente
OCaml, 13 bytes (Cracked by @Dada)
No rounding (within IEEE 754 scope).
fuente
Javascript, 123 bytes, Cracked by notjagan
This code is a full function
There is one space character at the very start of the list of characters
The rounding of this answer is the floating point precision for Javascript, accuracy is within 10^-6 for every answer.
Got shorter because the precision didn't need to be maintained quite as high as I thought it did.
I had realized that it would be much easier to solve than I initially had made it but it was already there :P
Initial code:
Newtons method, applied 5 times from the closest power of 2
fuente
Python 3.6 - 52 bytes (Cracked by @xnor)
Standard Python rounding
fuente
Ruby, 35 bytes (cracked by xsot)
No rounding. Floating point accuracy.
fuente
05AB1E, 47 bytes
Does not round, uses floating point accuracy.
fuente
CJam, 8 bytes (Cracked by E
nmigmna)No rounding. Uses double precision.
fuente
R, 32 bytes (Cracked by @plannapus)
Standard floating-point accuracy.
fuente
Excel, 26 bytes
No rounding.
Note: As Excel is paid software, this works also in free LibreOffice
fuente
RProgN 2, 6 Bytes (Cracked by @notjagan)
No rounding, displays many decimal places. Does not display any for an integer solution.
fuente
n²√n
? I can easily get it to calculaten² + √n
, but I can't for the life of me see how you got the terms to multiply.