Una combinación aleatoria es una forma de barajar cartas donde el mazo se divide en 2 secciones aproximadamente iguales y las secciones se agrupan en pequeños grupos. Así es como se baraja una secuencia aleatoria:
- Divide la cuerda en secciones iguales.
- Invierta las cadenas y comience desde el principio de cada cadena.
- Coloque series de una longitud aleatoria uniforme entre 1 y el número de caracteres que quedan en la cadena actual en la cadena final
- Luego, elimine estos caracteres de la cadena.
- Repita para la otra mitad, hasta que ambas mitades estén vacías.
Un ejemplo
"Hello World!" Output string = ""
"Hello ", "World!" ""
"Hell", "World!" " o"
"Hell", "World" " o!"
"Hel", "World" " o!l"
"Hel", "Wo" " o!ldlr"
"H", "Wo" " o!ldlrle"
"H", "" " o!ldlrleoW"
"", "" " o!ldlrleoWH"
El producto final de Hello World!
podría ser o!ldlrleoWH
y eso es lo que obtendría.
Policías
Su tarea es hacer un programa (o función) que rifle aleatoriamente una cadena. Si la cadena ingresada es de longitud impar, simplemente divídala en dos cadenas de longitud desigual con una longitud relativa de +1
y +0
( abc => [ab, c] or [a, bc]
). Puede tomar la entrada de la manera normal y producir la salida de la manera normal.
Su presentación de policías consistirá en 4 cosas
- El idioma que usaste
- La longitud de su programa en bytes.
- Su programa, revoltijo barajado.
- Algo más que quieras agregar
Su objetivo es evitar que su código sea descifrado por los ladrones durante 7 días. Después de ese período, su programa está seguro y debe editarlo en su programa original. Su envío aún puede ser descifrado hasta que revele su solución. ¡La solución más corta y segura será la ganadora!
fuente
Respuestas:
Gelatina, 11 bytes, agrietada
Esta es una versión de golf, por lo que probablemente alguien pueda descifrarla fácilmente haciendo una versión de golf. Probablemente hay algunos enfoques diferentes, pero sospecho que este enfoque será decentemente común con los idiomas de golf.
El hash SHA-384 de mi programa previsto es
86025a659b3c5fc38e943f72b1f26e28e2e751a7118a589073f1d24fa61ff6b02753d6a0f3f0c7fee6555de69fd06a74
(usando la codificación UTF-8).fuente
> <> , 46 bytes
Casi no hay ofuscación en el código real, pero sospecho que un lenguaje 2D será lo suficientemente difícil de descifrar de todos modos.
Descargo de responsabilidad: escrito antes de que se especificara que tenía que ser uniformemente aleatorio. Esto no es uniformemente aleatorio, y no estoy seguro de cómo implementar un algoritmo uniformemente aleatorio en> <> para empezar.
fuente
Python 3, 154 bytes (lista de caracteres -> lista de caracteres) (función) Agrietado
Dudo que esto sea demasiado difícil de descifrar, especialmente porque el riffing una vez es bastante ineficaz (puede ver componentes completos del programa en la salida ...). Esto es principalmente solo para que todo funcione. Puede haber algunos espacios en blanco (incluidas las nuevas líneas) que no copié correctamente. El hash SHA-384 de mi solución prevista es
5924530418bf8cd603c25da04ea308b124fdddfc61e7060d78b35e50ead69a7fbde9200b5ee16635cc0ee9df9c954fa1
.fuente
Röda , 118 bytes
Toma una secuencia de caracteres como entrada y genera una secuencia de caracteres.
fuente
R , 283 bytes, agrietado
Ahora me doy cuenta de que escribir una respuesta más larga tiene más "series" de caracteres que se conservan, por desgracia.
¡Buena suerte!
fuente
Pyth , 14 bytes, agrietado
Implementación de Pyth bastante estándar para probar las aguas. Puede ser bastante fácil de descifrar, pero creo que veremos cómo le va.
fuente
Brainfuck aleatorio , 273 bytes
Brainfuck aleatorio es lo mismo que brainfuck normal, pero introduce el
?
personaje, que establece la celda actual en un valor aleatorio. Nota divertida; Tenía una versión de esto que solo funcionaba para entradas de menos de 256 caracteres, por razones obvias, pero el código en sí era más largo que eso. Cuando lo cambié para que fuera más largo, resultó ser un byte más corto que el original. ¯ \ _ (ツ) _ / ¯.fuente
Pushy , 25 bytes, agrietado
Toma la entrada como a
"quoted string"
en la línea de comando.fuente
1L
ser al revés? De lo contrario, está agregando 1 a la longitudAPL (Dyalog Unicode) , 62 bytes
SHA-384 de mi solución prevista:
3209dba6ce8abd880eb0595cc0a334be7e686ca0aa441309b7c5c8d3118d877de2a48cbc6af9ef0299477e3170d1b94a
Esto probablemente sea bastante fácil, especialmente porque la mayoría de las personas en el chat APL me ayudaron a construir esta respuesta.
fuente