En excluant le chiffre de contrôle, quel est le numéro de longueur minimum sur lequel l'algorithme luhn va fonctionner? Je pense que cela fonctionnerait sur n'importe quel nombre supérieur à 2 chiffres (encore une fois, en excluant le chiffre de contrôle).Quel est le numéro de longueur minimum sur lequel l'algorithme luhn va fonctionner?
La raison pour laquelle je demande est la suivante: si je itère sur tous les chiffres du numéro de droite à gauche. Cela provoque i% 2 == 0 (utilisé pour trouver d'autres positions dans le nombre) dans ma validation luhn pour échouer si le nombre est 3 chiffres ou moins (par exemple 125 - qui sur le papier semble être un nombre valide)
Évidemment, je pourrais changer ma condition de i% 2 == 0 à quelque chose d'autre mais si ce n'est pas le bon comportement pour l'algorithme, ce serait bien de le savoir.
Qu'est-ce qui ne va pas avec i% 2? Vous commencez à partir du chiffre de gauche et descendez. –
bien si vous avez 125 le chiffre de contrôle serait probablement 5. Cependant en utilisant i% 2 vous n'obtenez pas un nombre valide, car il double le chiffre de contrôle au lieu de '2'. – IaCoder
En exécutant l'algorithme de Luhn pour 125, le 1 et le 5 sont "doublés" et obtiennent 221 et les chiffres s'ajoutent à 5. –