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 55432estaría bien.
55123)?