К содержимому
Темы события:
При вводе длинного номера (например, номера банковских карт состоят из 16 цифр) весьма вероятны технические ошибки, описки и опечатки
При вводе длинного номера (например, номера банковских карт состоят из 16 цифр) весьма вероятны технические ошибки, описки и опечатки

Длинные числа – часть нашей жизни

Каждый человек в повседневной жизни сталкивается с большим количеством регистрационных номеров. Это номера банковских счетов, карт, а также бесчисленного множества государственных документов: ИНН (индивидуальный номер налогоплательщика), СНИЛС (свидетельства пенсионного страхования), номер паспорта, в конце концов.

И часто эти номера приходится кому-то сообщать: вводить номер паспорта при покупке билетов, заполнять формы при приёме на работу и не только, вводить реквизиты банковской карты при покупке (пользуясь случаем, напоминаем: сообщайте информацию о своих банковских картах только проверенным и надёжным получателем, остерегайтесь мошенников!). А при вводе длинного номера (например, номера банковских карт состоят из 16 цифр) весьма вероятны технические ошибки, описки и опечатки.

Алгоритм

Чтобы помочь выявлять случаи, когда произошла такая ошибка и предотвращать её последствия работник IBM (одной из старейших фирм по производству вычислительных машин) разработал специальный алгоритм, названный в его честь. Он предполагает, что к собственно номеру объекта (например, банковской карты) добавляется контрольная цифра, вычисляемая следующим образом:

Все цифры номера умножаются на два;
Если получающийся результат – двузначное число, вычитаем 9;
Суммируем получающиеся цифры;
Выбираем контрольную цифру так, чтобы вместе с ним сумма была кратна 10.

Например, если наш номер – 1-3-5-7-9, то описанные преобразования дадут:
2-6-8-10-14-18
2-6-8-1-5-9
2+6+8+1+5+9=31
Контрольная цифра =40-31=9
Соответственно, получившийся шестизначный номер: 135799

Польза и применение

Этот нехитрый алгоритм позволяет найти практически любую ошибку, связанную со случайной заменой одной из цифр номера на другую: если получатель номера проделает аналогичные операции, но обнаружит, что его контрольная цифра – не 9, это будет означать, что произошла ошибка. Правда, если ошибочно переставить цифры местами, контрольная цифра не изменится.

Любопытно, что изначально был запатентован не только алгоритм, но и специальная машина, позволяющая автоматически находить контрольную цифру. Сейчас, конечно же, все вычисления производятся куда более мощными компьютерами и зачастую организации, выпускающие документы, пользуются не алгоритмом Луна, а более сложной методикой, позволяющей обнаруживать большее количество ошибок. Но вот для выпуска банковских карт именно алгоритм Луна стал всеобщим стандартом.

Ольга Клачкова, экспертОльга Клачкова, эксперт

Последствия ошибки при работе с финансами для индивида могут быть довольно критичными: представьте только, что, совершая перевод денежных средств, Вы ошиблись в номере карты получателя! Чтобы избежать подобных технических ошибок и создаются такие методики, как алгоритм Луна. Будучи встроенными в банковские приложения, они позволят запросто обнаружить ошибку до того, как она станет неисправимой.

Предшествующее
событие
Следующее
событие