为什么我们使用 Luhn 算法验证信用卡时要反转数字?
Why shall we reverse the digits when we use Luhn's Algorithm for validating a credit card?
我正在尝试实现用于验证信用卡的 Luhn 算法,有一个步骤我们将卡号倒转,为什么需要倒转卡号?
Luhn 算法涉及将数字中的每隔一个数字加倍,这样最右边的数字(校验位)就不会加倍。这意味着最左边的数字可能会或可能不会加倍,具体取决于数字的位数是奇数还是偶数。处理这种变化的一种方法是反转数字,并且始终以非双位数开头——但这对我来说似乎有点过分了;有多种解决方案(例如以相反顺序索引数字)比反转数字更省力。
我正在尝试实现用于验证信用卡的 Luhn 算法,有一个步骤我们将卡号倒转,为什么需要倒转卡号?
Luhn 算法涉及将数字中的每隔一个数字加倍,这样最右边的数字(校验位)就不会加倍。这意味着最左边的数字可能会或可能不会加倍,具体取决于数字的位数是奇数还是偶数。处理这种变化的一种方法是反转数字,并且始终以非双位数开头——但这对我来说似乎有点过分了;有多种解决方案(例如以相反顺序索引数字)比反转数字更省力。