Inspirado por esta publicación migrada mal recibida .
El jefe de seguridad de su empresa está preocupado por su sistema generador de PIN después de que se lo dio 12345
. Tampoco apreciaba realmente la broma de Spaceballs que hiciste a su costa, por lo que se te ha delegado para volver a escribir el generador de PIN. Como tiene que caber en un hardware especial, debe hacerlo lo más pequeño posible.
Tu tarea
- Toma dos entradas: número de PIN y tamaño de PIN en dígitos.
- Genere al azar el número especificado de PIN del tamaño especificado e imprímalo.
- Todos los PIN válidos del tamaño deben poder imprimirse, incluso si no son uniformemente probables.
Sin embargo, existen algunas restricciones en los PIN: aquí están los inválidos:
- Si todos los pares son del mismo dígito:
114422
(Nota: obviamente, esto incluirá todos los PIN de los mismos dígitos). - PINs Cada vez más lineales (mod 10):
246802
. - Todos los grupos de 3 líneas físicas en el teclado de
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - El PIN se puede dividir por completo en grupos de la regla 1 y la regla 3.
- Si todos los pares son del mismo dígito:
- Este es el código de golf , por lo que gana el código más corto en bytes .
123
, pero 55432
estaría bien.
55123
)?