La mise en œuvre de l'algorithme de Luhn

Je suis en train de mettre en œuvre une simple validation des numéros de carte de crédit. J'ai lu à propos de l'algorithme de Luhn sur Wikipédia:

  1. En comptant à partir du chiffre de contrôle, qui est le plus à droite, et le déplacement
    à gauche, le double de la valeur de chaque deuxième chiffre.
  2. Calcule la somme des chiffres de produits (p. ex., 10: 1 + 0 = 1, 14: 1 + 4 = 5)
    en collaboration avec le undoubled chiffres du nombre.
  3. Si le total modulo 10 est égal à 0 (si le total se termine par un zéro)
    le nombre est valide selon la formule Luhn; d'autre c'est
    pas valide.

Sur Wikipédia, la description de l'algorithme de Luhn est très facile à comprendre. Cependant, j'ai également vu d'autres implémentations de l'algorithme de Luhn sur Rosetta Code et d'ailleurs.

Ces implémentations fonctionnent très bien, mais je suis confus au sujet de pourquoi ils peuvent utiliser un tableau pour faire le travail. Le tableau qu'ils utilisent semble n'avoir aucun rapport avec l'algorithme de Luhn, et je ne vois pas comment ils réussissent à la procédure décrite sur Wikipédia.

Pourquoi sont-ils à l'aide de tableaux? Quelle est la signification d'entre eux, et comment sont-ils utilisés pour mettre en œuvre l'algorithme tel que décrit par Wikipédia?

InformationsquelleAutor Mithril | 2012-09-07