После чтения статьи об алгоритме Луна: https://habr.com/ru/articles/745302/ - определения ошибок в числовых последовательностях (например номер платежной карты) решил покапать историю этой задачи, старые статьи.
Про математические основы самого подхода вычисления контрольного числа писать не буду, кому интересно, можно почитать например тут: https://www.researchgate.net/publication/322812787_The_Mathematics_of_Identification_Numbers
В частности в статье отмечалось, что классический алгоритм Луна не выявляет некоторые типы ошибок, например ошибку перестановки чисел 09->90. Есть же и другие и другие распространенные типы ошибок и подходы к их выявлению.
В статье встретилась интересная таблица с результатами исследования - статистика распределения типовых ошибок ввода числовых последовательностей, которой захотелось поделится:
Возможно, что кому-то это станет полезным при проектировании систем контроля данных или проектирования интерфейсов.