Найти тему
JuniorJs React c 0

JavaScript Алгоритм Луна задача. (проверка валидности номера карты)

Создайте функцию которая проверяет валидность номера карты (алгоритм Луна).

Ваш скрипт должен возвращать true если карта валидная и false если номер карты не действителен (или карты не существует).

Проверка осуществляется за алгоритмом Луна.

Оригинальный алгоритм, описанный разработчиком

1. Цифры проверяемой последовательности нумеруются справа налево.

2. Цифры, оказавшиеся на нечётных местах, остаются без изменений.

3. Цифры, стоящие на чётных местах, умножаются на 2.

4. Если в результате такого умножения возникает число больше 9, оно заменяется суммой цифр получившегося произведения — однозначным числом, то есть цифрой. (Иначе говоря нужно отнять 9. Например 8*8 = 16 - 9 = 7. Записываем 7.)

5. Все полученные в результате преобразования цифры складываются. Если сумма кратна 10, то исходные данные верны.

Ссылка на описания скрипта в Вики.

В конце можете проверить свою карту на валидность.

P.S. По всем вопросам писать мне на почту. JuniorJs@yandex.ru