Inspirado por esta postagem migrada mal recebida .
O chefe de segurança da sua empresa está preocupado com o seu sistema de geração de PIN depois que ele o forneceu 12345
. Ele também não gostou da piada de Spaceballs que você fez às custas dele, então você foi delegado a reescrever o gerador de PIN. Como ele precisa se encaixar em algum hardware especial, você deve torná-lo o menor possível.
Sua tarefa
- Você pega duas entradas - número de PINs e tamanho do PIN em dígitos.
- Gere o número especificado de PINs do tamanho especificado aleatoriamente e imprima-o.
- Todos os PINs válidos do tamanho devem poder ser impressos, mesmo que não sejam uniformemente prováveis.
No entanto, existem algumas restrições nos PINs - eis os inválidos:
- Se todos os pares tiverem o mesmo dígito:
114422
(Nota: isso obviamente incluirá todos os PINs do mesmo dígito). - PINs cada vez mais lineares (10): modificação
246802
. - Todos os grupos de 3 são linhas físicas no teclado de
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - O PIN pode ser totalmente dividido em grupos da regra 1 e 3.
- Se todos os pares tiverem o mesmo dígito:
- Isso é código-golfe , então o código mais curto em bytes vence!
123
, mas 55432
seria bom.
55123
)?