Алгоритм луна в excel

Обновлено: 07.07.2024

Алгоритм Луна (Luhn Algorithm) - алгоритм вычисления контрольной цифры номера пластиковых карт в соответствии со стандартом ISO/IEC 7812.

Алгоритм Луна (англ. Luhn Algorithm) — алгоритм вычисления контрольной цифры номера пластиковых карт в соответствии со стандартом ISO/IEC 7812. Не является криптографическим средством, предназначение алгоритма в первую очередь — выявление ошибок, вызванных непреднамеренным искажением данных (например, при ручном вводе номера карты, при приёме данных о номере социального страхования по телефону). Позволяет лишь с некоторой степенью достоверности судить об отсутствии ошибок в блоке цифр, но не даёт возможности локализации и коррекции обнаруженной неточности.

Алгоритм разработан сотрудником фирмы IBM Гансом Питером Луном, описан в США в 1954 году, патент получен в 1960 году. В настоящее время содержание алгоритма является публичным достоянием.

Наиболее распространённые применения для подсчёта контрольной цифры:

В силу простоты реализации, алгоритм отнимает минимум вычислительных мощностей; в ряде случаев при наличии навыка расчёт может быть произведён «в уме». В то же время, алгоритм Луна позволяет только выявить ошибки в блоках данных, и то не все. Искажение одной цифры — обнаруживается. Обнаруживаются практически все парные перестановки подряд идущих цифр (за исключением 09 ↔ 90). Не могут быть обнаружены некоторые искажения двух подряд идущих цифр, а именно 22 ↔ 55, 33 ↔ 66 и 44 ↔ 77. Алгоритм не даёт информации о месте и характере возникшей ошибки.

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

Алгоритм проверки контрольной цифры (оригинальный алгоритм, описанный разработчиком):

а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
массивная формула а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
массивная формула а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
массивная формула считает согласно описанного алгоритма Автор - Nic70y
Дата добавления - 20.01.2020 в 10:04 J0urna1ist, Ваша формула считает, каким должен быть последний разряд, чтобы сошлась контрольная сумма. Считает правильно. А Вы что подразумеваете под "должно быть"? J0urna1ist, Ваша формула считает, каким должен быть последний разряд, чтобы сошлась контрольная сумма. Считает правильно. А Вы что подразумеваете под "должно быть"? Pelena

Формула считает правильно если 24 цифры, как только добавляем 25-ую цифру, она ничего не вычисляет!

Формула считает правильно если 24 цифры, как только добавляем 25-ую цифру, она ничего не вычисляет!


То что должно быть, то число и должно вычисляться! Автор - J0urna1ist
Дата добавления - 20.01.2020 в 16:08

НЕТ, ваша формула неправильно считает! Проверить можно в Калькуляторе

а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
В примере это то число которое должно получиться (Правильное число)!

НЕТ, ваша формула неправильно считает! Проверить можно в Калькуляторе

а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
В примере это то число которое должно получиться (Правильное число)! J0urna1ist а я не понимаю Вашего примера (Должно быть - почему оно так должно быть. )
В примере это то число которое должно получиться (Правильное число)! Автор - J0urna1ist
Дата добавления - 20.01.2020 в 16:10 J0urna1ist, У вас в примере, столбец называется "Должно быть" J0urna1ist, У вас в примере, столбец называется "Должно быть" YouGreed J0urna1ist, У вас в примере, столбец называется "Должно быть" :D J0urna1ist, У вас в примере, столбец называется "Должно быть" :D J0urna1ist, У вас в примере, столбец называется "Должно быть" :D
Понял ) сорян, запуталси соусем!) Автор - J0urna1ist
Дата добавления - 20.01.2020 в 16:13

Короч, думаю, так будет более понятно (хотя зная себя, все еще больше запутаются )))):
Есть число:
381393079204396836023757 - (24 знака), нужно произвести расчет по формуле Луна, а именно вычислить контрольную цифру номера пластиковой карты.

Его можно вычислить на сайте с помощью Калькулятора, вставив в нужное место данное число, мы получаем цифру - 9. Если воспользуемся формулой, то формула подсчитывает тоже самое число, а именно работает правильно. (Прошу заметить на сайте калькулятор выдает два числа: Последний разряд контрольной суммы и Следующая проверочная цифра). Мне нужно только проверочная цифра.

Теперь вопрос:
Если к числу:
381393079204396836023757 - (24 знака)
Добавить один Знак (цифру), или еще сколько либо знаков (цифр), то формула уже считает не правильно, Пример:
3813930792043968360237572 - (25 знаков), правильный ответ - 2 (взято из достоверного источника и с Калькулятора), а формула выдает - 9 что не верно!

Короч, думаю, так будет более понятно (хотя зная себя, все еще больше запутаются )))):
Есть число:
381393079204396836023757 - (24 знака), нужно произвести расчет по формуле Луна, а именно вычислить контрольную цифру номера пластиковой карты.

Его можно вычислить на сайте с помощью Калькулятора, вставив в нужное место данное число, мы получаем цифру - 9. Если воспользуемся формулой, то формула подсчитывает тоже самое число, а именно работает правильно. (Прошу заметить на сайте калькулятор выдает два числа: Последний разряд контрольной суммы и Следующая проверочная цифра). Мне нужно только проверочная цифра.

Теперь вопрос:
Если к числу:
381393079204396836023757 - (24 знака)
Добавить один Знак (цифру), или еще сколько либо знаков (цифр), то формула уже считает не правильно, Пример:
3813930792043968360237572 - (25 знаков), правильный ответ - 2 (взято из достоверного источника и с Калькулятора), а формула выдает - 9 что не верно! J0urna1ist

Его можно вычислить на сайте с помощью Калькулятора, вставив в нужное место данное число, мы получаем цифру - 9. Если воспользуемся формулой, то формула подсчитывает тоже самое число, а именно работает правильно. (Прошу заметить на сайте калькулятор выдает два числа: Последний разряд контрольной суммы и Следующая проверочная цифра). Мне нужно только проверочная цифра.

Теперь вопрос:
Если к числу:
381393079204396836023757 - (24 знака)
Добавить один Знак (цифру), или еще сколько либо знаков (цифр), то формула уже считает не правильно, Пример:
3813930792043968360237572 - (25 знаков), правильный ответ - 2 (взято из достоверного источника и с Калькулятора), а формула выдает - 9 что не верно! Автор - J0urna1ist
Дата добавления - 20.01.2020 в 16:30

Читайте также: