Дослідження
Перевірка номера картки
Візьміть у батьків платіжну картку (можна якусь стару) або свою картку.
Використовуючи алгоритм Луна, перевірте правильність номерів картки.
Запишіть результати.
Алгоритм Луна (Luhn Algorithm) для перевірки коректності номера картки
Номер картки зазвичай складається з 16 цифр. Перша цифра вказує на тип картки (наприклад, 4 — для Visa, 5 — для MasterCard).
Для перевірки коректності номера картки можна використовувати алгоритм, який допомагає виявити, чи є номер валідним (достовірним).
1. Перевернути ряд цифр. Починайте з останньої цифри номера картки (яка є контрольною цифрою) і рухайтеся вліво.
2. Подвоїти значення кожної другої цифри. Для кожної другої цифри, починаючи з другої (з правого боку), подвоюйте її значення.
3. Якщо подвоєне значення перевищує 9, відняти 9 від результату. Це еквівалентно додаванню цифр подвоєного числа (наприклад, 12→1+2=312→1+2=3 або 14→1+4=514→1+4=5).
4. Додати всі значення. Після обробки всіх цифр додайте всі отримані значення, включаючи неподвоєні цифри.
5. Перевірка контрольної цифри. Якщо сума, отримана на попередньому кроці, ділиться на 10 без остачі, номер картки є дійсним.
Приклад:
Розглянемо номер картки 4539 1488 0343 6467.
Перевертаємо: 7646 3438 8814 9354.
Подвоюємо кожну другу цифру:
7 (не подвоюємо)
6⋅2=12→12−9=36⋅2=12→12−9=3
4 (не подвоюємо)
6⋅2=12→12−9=36⋅2=12→12−9=3
3 (не подвоюємо)
4⋅2=84⋅2=8
8 (не подвоюємо)
1⋅2=21⋅2=2
8 (не подвоюємо)
4⋅2=84⋅2=8
9 (не подвоюємо)
3⋅2=63⋅2=6
5 (не подвоюємо)
4⋅2=84⋅2=8
Отримуємо: 7+3+4+3+3+8+8+7+3+4+3+3+8+8+2+4+6+5+8=552+4+6+5+8=55.
Перевірка: 55 не ділиться на 10 без остачі, отже, номер не дійсний.