Inspiré par ce post migré mal reçu .
Le responsable de la sécurité de votre entreprise s'inquiète de votre système de génération de code PIN après sa remise 12345
. Il n'a pas non plus vraiment apprécié la blague Spaceballs que vous avez faite à ses dépens, vous avez donc été délégué pour réécrire le générateur de code PIN. Puisqu'il doit tenir sur du matériel spécial, vous devez le rendre aussi petit que possible.
Ta tâche
- Vous prenez deux entrées: le nombre de PIN et la taille du PIN en chiffres.
- Générez au hasard le nombre spécifié de codes PIN de la taille spécifiée et imprimez-le.
- Tous les codes PIN valides de la taille doivent pouvoir être imprimés, même s'ils ne sont pas uniformément probables.
Cependant, il existe certaines restrictions sur les codes confidentiels - voici les non valides:
- Si toutes les paires ont le même chiffre:
114422
(Remarque: cela inclura évidemment tous les mêmes chiffres PIN). - De plus en plus PINs linéaires (mod 10):
246802
. - Tous les groupes de 3 sont des lignes physiques sur le clavier
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - Le code PIN peut être entièrement divisé en groupes de la règle 1 et de la règle 3.
- Si toutes les paires ont le même chiffre:
- C'est le code-golf , donc le code le plus court en octets gagne!
123
, mais ce 55432
serait bien.
55123
)?