Есть ли альтернативные объяснения, почему «алгоритм Луна» хорош? - PullRequest
1 голос
/ 21 апреля 2020

Добрый вечер, ребята, я создал простую Java программу, которая проверяет номера кредитных карт, используя Luhn's algorithm / (mod 10). Я нашел много объяснений, почему правильно использовать эту формулу, но до сих пор не понял ее полностью. Может кто-нибудь объяснить мне, почему это хорошая формула для такой проверки?

1 Ответ

1 голос
/ 21 апреля 2020

Это просто потому, что все компании согласились следовать этой формуле, и они не позволяют существовать какой-либо кредитной карте / банковскому счету, если она не соответствует формату Luhn.

Причина этого заключается в ограничении шанса человеческой ошибки.

Если вы сделаете одну опечатку, она не будет проходить по алгоритму Луна. Почему одиночная опечатка? Поскольку это mod 10, если вы делаете опечатку с одним числом, разница составляет от 1 до 9, поэтому mod 10 покрывает его.

Если вы делаете опечатку с двумя числами и вам не повезло (допустимо только 10% комбинаций, так что есть вероятность 10%) вы все равно можете отправить деньги на неправильный счет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...