Немного математики или как проверить цифры в банкнотах купюр,карт,кодов

Отправлено 22 нояб. 2011 г., 02:11 пользователем Работа КА   [ обновлено 22 нояб. 2011 г., 02:17 ]
Привет, друзья!
У нас для вас есть несколько интересных фактов о счёте — устном и не очень. Это первый пост из небольшой серии, а значит скоро будут новые секреты и интересные особенности. Stay tuned!

Как перемножать в уме двузначные числа?

Очень легко, если эти числа одинаковы и заканчиваются на 5. К примеру, для перемножения в уме 25 и 25 нужна максимум одна секунда ― получится 625. Алгоритм перемножения очень прост: возьмите первую цифру числа (у нас это 2), умножьте её на следующую по счёту (после 2 идет 3 ― получится 6), а после полученного числа допишите 25.

75х75=(7х8)25=5625
45х45=(4х5)25=2025

Просто, не так ли?

Как проверить подлинность купюры Евро по её серийному номеру?

Порой, глядя на номер купюры, нам кажется, что эти номера присваиваются банкнотам по порядку (ну, или каким-то случайным образом). Однако это не так ― в серийном номере каждой евробанкноты скрыт особый код, с помощью которого можно проверить её подлинность.

Серийный номер банкноты евро состоит из буквы и одиннадцати цифр. Нужно заменить буквы на число её порядкового номера в алфавите (А ― 1, В ― 2, С ― 3 и так далее), а потом сложить его с остальными цифрами номера. Все цифры получившегося номера нужно также сложить между собой ― до тех пор, пока не останется одно число. Если это число 8, то значит перед вами подлинная купюра (ну, или очень хитрая подделка).

Почему в израильских школах нет знака «+»?

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

Как проверить подлинность ИНН, ОКПО и других кодов, используемых в бухгалтерском и финансовом делах?

Подобно описанным выше евро, все коды ИНН, СНИЛС, ОКПО и множества других кодов (от карточек VISA до номеров ценных бумаг) создаются с учетом возможной их валидации ― проверки на подлинность и возможности восстановить пропущенное или случайно введённое число. Для этого в кодах имеются специальные контрольные цифры, которые можно проверить с помощью простейших арифметических операций.



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

Наличие и правильность контрольного числа не гарантирует достоверность рассматриваемого номера (в том числе не спасает от действий злоумышленников), но на практике достаточно хорошо оберегает от случайных ошибок.

Контрольное число чаще всего это либо последняя цифра суммы всех чисел номера, либо результат другой математической операции над цифрами. В компьютерных программах понятие «контрольного числа» обобщено до CRC, бита чётности и Кодов Рида-Соломона; а в некоторых архиваторах объём контрольных данных таков, что позволяет не только обнаружить ошибку, но и исправить её (обнаружение и исправление ошибок).

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

Содержание

  [убрать] 
  • 1 Примеры использования контрольных чисел в документах
    • 1.1 Номера на товарах: Бар-код (Штрих-код) разных типов
    • 1.2 Номер «Социальной Карты» (Москва, Россия)
    • 1.3 Номера банковских карт
    • 1.4 Международный идентификационный код ценной бумаги (ISIN)
    • 1.5 «Страховой номер индивидуального лицевого счета» (Россия)
    • 1.6 Номера ИНН
    • 1.7 Номер ОКПО
    • 1.8 Номер ОКАТО
      • 1.8.1 Расчет контрольного числа
      • 1.8.2 Пример расчёта контрольного числа.
    • 1.9 Номер ISSN
    • 1.10 Номер ISBN
    • 1.11 Номера ОГРН и ОГРНИП
  • 2 Примечания
  • 3 См. также

[править]Примеры использования контрольных чисел в документах

В примерах обычно вычисляется некоторая функция (контрольная сумма) от цифр номера. Если она равна 0, то номер признаётся правильным. (В некоторых случаях удобнее вычислять контрольное число и сверять его с имеющимся. Формально контрольной суммой можно считать разность между имеющимся и вычисленным контрольными числами). Цифры номера нумеруются справа налево: …n3n2n1, так же, как и соответствующие им коэффициенты …k3k2k1. Обычно содержательная информация (код страны, товара, банка и т. п.) находится в левой части номера, а контрольное число (цифра) является завершающей (самой правой) и имеет номер 1 (n1), однако с математической точки зрения все цифры кода, как правило, равноправны, и любая из них может считаться контрольной для остальных. Значение содержательной части номера можно посмотреть в описании соответствующего кода.

[править]Номера на товарах: Бар-код (Штрих-код) разных типов

Контрольные суммы вычисляются по сходному алгоритму. Кроме того, тот же алгоритм, (таблица обрезается или продолжается влево по очевидному правилу) используется во многих других случаях, например для номеров товаров в магазинах.

 k13k12k11k10kkkkkkkkk
EAN-131313131313131
UPC-12 
EAN-8     

Контрольная сумма есть остаток от деления на 10 суммы из цифр номера, умноженных на соответствующие коэффициенты из таблицы. Если контрольная сумма есть 0, то номер признаётся правильным.

Если нужно подсчитать требуемое контрольное число для произвольного номера, нужно вначале поставить «0» на крайнюю правую позицию, посчитать контрольную сумму, а затем, если она не равна нулю, заменить этот «0» на «10 — контрольная сумма».

Конкретные примеры:

4600051000057 (сигареты «Прима») — код EAN-13.

4x1+ 6x3+ 0x1+ 0x3+ 0x1+ 5x3+ 1x1+ 0x3+ 0x1+ 0x3+ 0x1+ 5x3+ 7x1=
4+ 18+ 0+ 0+ 0+ 15+ 1+ 0+ 0+ 0+ 0+ 15+ 7= 60.

Контрольная сумма = 0 — номер правильный.

46009333 (папиросы «Беломорканал») — код EAN-8.

4x3+ 6x1+ 0x3+ 0x1+ 9x3+ 3x1+ 3x3+ 3x1=
12+ 6+ 0+ 0+ 27+ 3+ 9+ 3= 60.

Контрольная сумма = 0 — номер правильный.

041689300494 (бензин для зажигалки «Zippo») — код UPC-12.

0x3+ 4x1+ 1x3+ 6x1+ 8x3+ 9x1+ 3x3+ 0x1+ 0x3+ 4x1+ 9x3+ 4x1=
0+ 4+ 3+ 6+ 24+ 9+ 9+ 0+ 0+ 4+ 27+ 4= 90.

Контрольная сумма = 0 — номер правильный.

Восстановление контрольного числа. Дан номер 460154602129?, EAN-13 с потерянной контрольной цифрой «?».

Для 4601546021290:

4x1+ 6x3+ 0x1+ 1x3+ 5x1+ 4x3+ 6x1+ 0x3+ 2x1+ 1x3+ 2x1+ 9x3+ 0x1=
4+ 18+ 0+ 3+ 5+ 12+ 6+ 0+ 2+ 3+ 2+ 27+ 0= 82.

Контрольное число - наименьшее число, которое необходимо прибавить к вычисленному значению, чтобы получилось кратное 10 число.
В нашем случае, ближайшее к «82» кратное «10» число - это «90». К «82» необходимо прибавить «8» для получения «90».
Следовательно, контрольное число - «8» по определению, а искомый номер: 4601546021298.

[править]Номер «Социальной Карты» (Москва, Россия)

16 цифр. Поскольку Социальные карты москвича выпускаются на основе банковских карт Visa Electron Банка Москвы, номер содержит контрольное число, вычисляемое по обычным правилам для 16-значных банковских карт (см. ниже). 19-значный полный номер Социальной карты москвича (на обороте) также содержит контрольный разряд, вычисляемый с использованием алгоритма Луна.

[править]Номера банковских карт

Номера кредитных карт American Express всегда начинаются на цифру 3, VISA начинается на 4, MasterCard на 5 и Maestro на 6.

Алгоритм тот же, что и для «Международного идентификационного кода ценной бумаги» (см. ниже)

[править]Международный идентификационный код ценной бумаги (ISIN)

Контрольные суммы вычисляются по сходному алгоритму. Правило продолжения таблицы влево (для длинных номеров) и усечения её для коротких номеров очевидно.

В случае наличия в номере (коде) ISIN английских букв, каждая из них заменяется на 2 цифры, представляющие собой порядковый номер буквы в латинском алфавите, увеличенный на 9 (то есть A ~ 10, B ~ 11, …, Z ~ 35). Так, буквы RU заменяются на 2730.

 k16k15k14k13k12k11k10kkkkkkkkk
банковские
карты,
16 цифр
2121212121212121
ценные
бумаги
  
банковские
карты,
13 цифр
   

Контрольная сумма. Цифры кода умножаются на коэффициенты из таблицы, если результат умножения превосходит 9, то вычитаем из него 9, получившиеся числа складываем. Берём остаток от деления суммы на 10.

Если контрольная сумма есть 0, то номер признаётся правильным.

Восстановление «контрольного числа» аналогично способу для штрих-кода.

Конкретные примеры:

4000-0000-0000-6 — 13-значная банковская карта Visa.

Произведения: 4x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 6x1;
После вычитания 9: 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6;
Их сумма: 10;

Контрольная сумма = 0 — номер правильный.

5610-0000-0000-0001 — 16-значная банковская карта Australian Bankcard.

Произведения: 5x2, 6x1, 1x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 1x1;
После вычитания 9: 1, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1;
Их сумма: 10;

Контрольная сумма = 0 — номер правильный.

RU0007661625 — ISIN акции Газпрома номиналом 5 руб.

Буквы RU заменяем на 2730 и получаем 14-значный номер 27300007661625, который и будем проверять.

Произведения: 2x2, 7x1, 3x2, 0x1, 0x2, 0x1, 0x2, 7x1, 6x2, 6x1, 1x2, 6x1, 2x2, 5x1;
После вычитания 9: 4, 7, 6, 0, 0, 0, 0, 7, 3, 6, 2, 6, 4, 5;
Их сумма: 50;

Контрольная сумма = 0 — номер правильный.

DE0001136927 — пример ISIN с сайта Банка Эстонии.

Буквы DE заменяем на 1314 и получаем 14-значный номер 13140001136927.

Произведения: 1x2, 3x1, 1x2, 4x1, 0x2, 0x1, 0x2, 1x1, 1x2, 3x1, 6x2, 9x1, 2x2, 7x1;
После вычитания 9: 2, 3, 2, 4, 0, 0, 0, 1, 2, 3, 3, 9(!), 4, 7;
Их сумма: 40;

Контрольная сумма = 0 — номер правильный.

[править]«Страховой номер индивидуального лицевого счета» (Россия)

Страховой номер индивидуального лицевого счета страхового свидетельства обязательного пенсионного страхования(он же СНИЛС) проверяется на валидность контрольным числом. СНИЛС имеет вид: «XXX-XXX-XXX YY», где XXX-XXX-XXX — собственно номер, а YY — контрольное число. Алгоритм формирования контрольного числа СНИЛС таков:

1) Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001—001-998

2) Контрольное число СНИЛС рассчитывается следующим образом:

2.1) Каждая цифра СНИЛС умножается на номер своей позиции (позиции отсчитываются с конца)

2.2) Полученные произведения суммируются

2.3) Если сумма меньше 100, то контрольное число равно самой сумме

2.4) Если сумма равна 100 или 101, то контрольное число равно 00

2.5) Если сумма больше 101, то сумма делится нацело на 101 и контрольное число определяется остатком от деления аналогично пунктам 2.3 и 2.4

ПРИМЕР: Указан СНИЛС 112-233-445 95
Проверяем правильность контрольного числа: 
цифры номера        1 1 2 2 3 3 4 4 5 
номер позиции       9 8 7 6 5 4 3 2 1
Сумма = 1×9 + 1×8 + 2×7 + 2×6 + 3×5 + 3×4 + 4×3 + 4×2 + 5×1 = 95 
95 ÷ 101 = 0, остаток 95. 
Контрольное число 95 — указано верно 

Есть мнение, что алгоритмически удобнее сумму не делить нацело на 101, а из суммы циклически вычитать 101 до тех пор, пока остаток от вычитания не будет меньше 102. Хотя по сути это и есть «деление нацело».

[править]Номера ИНН

Бывают 10-значные (1 контрольная цифра в конце) и 12-значные (2 контрольные цифры в конце).

 k12k11k10kkkkkkkkk
вычисление контрольного числа n2

для 12-значного ИНН

72410359468  
вычисление контрольного числа n1

для 12-значного ИНН

372410359468 
вычисление контрольного числа n1

для 10-значного ИНН

   

Проверку ИНН удобнее проводить, вычисляя контрольные числа:

Шаг 1 (только для 12-значного ИНН). Контрольное число n2 есть остаток от деления на 11 суммы из цифр номера, умноженных на соответствующие коэффициенты из таблицы (из строки «вычисление контрольного числа n2»). Если остаток есть 10, то n2 = 0.

Шаг 2. Контрольное число n1 есть остаток от деления на 11 суммы из цифр номера, умноженных на соответствующие коэффициенты из таблицы (из строки «вычисление контрольного числа n1»). Если остаток есть 10, то n1 = 0.

Конкретные примеры:

ИНН 500100732259 — 12 цифр (первый попавшийся в Интернете ИНН).

Шаг 1: 5*7+ 0*2+ 0*4+ 1*10+ 0*3+ 0*5+ 7*9+ 3*4+ 2*6+ 2*8= 148
148= 11*13 + 5(остаток); совпадает
Шаг 2: 5*3+ 0*7+ 0*2+ 1*4+ 0*10+ 0*3+ 7*5+ 3*9+ 2*4+ 2*6+ 5*8= 141
141= 11*12 +9(остаток); совпадает

Оба контрольных числа совпадают, номер правильный.

ИНН 7830002293 — 10 цифр (Санкт-Петербургская бумажная фабрика Гознака).

Шаг 2: 7*2+ 8*4+ 3*10+ 0*3+ 0*5+ 0*9+ 2*4+ 2*6+ 9*8= 168
168= 11*15 +3(остаток)
 Контрольное число совпадает, номер правильный.

Примечание

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

[править]Номер ОКПО

Методика расчёта контрольного числа для кода ОКПО (едина для всех кодов статистики)

Контрольное число рассчитывается следующим образом:

  1. Разрядам кода в общероссийском классификаторе, начиная со старшего разряда, присваивается набор весов, соответствующий натуральному ряду чисел от 1 до 10. Если разрядность кода больше 10, то набор весов повторяется.
  2. Каждая цифра кода умножается на вес разряда и вычисляется сумма полученных произведений.
  3. Контрольное число для кода представляет собой остаток от деления полученной суммы на модуль «11».
  4. Контрольное число должно иметь один разряд, значение которого находится в пределах от 0 до 9.

Если получается остаток, равный 10, то для обеспечения одноразрядного контрольного числа необходимо провести повторный расчет, применяя вторую последовательность весов, сдвинутую на два разряда влево (3, 4, 5,…). Если в случае повторного расчета остаток от деления вновь сохраняется равным 10, то значение контрольного числа проставляется равным «0».

Пример проверки контрольного числа для кода 47296611:

   Код           4    7     2    9     6    6    1
   Вес разрядов  1    2     3    4     5    6    7

Сумма произведений, полученных путем умножения каждой цифры кода на вес разряда, равна:

4 х 1 + 7 х 2 + 2 х 3 + 9 х 4 + 6 х 5 + 6 х 6 + 1 х 7 = 133.

133 = 11 * 12 + 1;

Остаток от деления полученной суммы на 11 равен 1.

Контрольное число = 1 — совпадает, номер правильный.

[править]Номер ОКАТО

Номер ОКАТО может быть кодом раздела «Объекты административно-территориального деления, кроме сельских населенных пунктов», который содержит от 2 до 8 цифр или кодом раздела «Сельские населенные пункты» (11 цифр)[1]. Контрольное число (одна цифра) может быть добавлена к коду, образуя «блок идентификации», в котором на одну цифру больше (9 цифр для 8-цифрового кода).

[править]Расчет контрольного числа

В коде ОКАТО расчёт контрольного числа подчиняется общему стандарту[2].

  1. Каждому разряду кода общероссийского классификатора, начиная со старшего разряда, присваивается вес, соответствующий натуральному ряду чисел от 1 до 10. Если разрядность кода больше 10, то набор весов повторяется.
  2. Каждая цифра кода умножается на вес разряда и вычисляется сумма полученных произведений.
  3. Контрольное число для каждого кода представляет собой остаток от деления полученной суммы на число 11.
  4. Контрольное число должно иметь один разряд, значение которого находится в пределах от 0 до 9.
  5. Для проверки контрольного числа кода ОКАТО, код ОКАТО должен содержать 3, 6 или 9 символов, то есть включать в себя контрольное число. Для расчета контрольного числа кода ОКАТО, код должен состоять из 2,5 или 8 символов.

Если получается остаток, равный 10, то для обеспечения одноразрядного контрольного числа необходимо провести повторный расчет, применяя вторую последовательность весов, сдвинутую на два разряда влево (то есть начинающуюся так: 3, 4, 5, …).

Если в случае повторного расчета остаток от деления вновь сохраняется равным 10, то значение контрольного числа принимается равным 0.

[править]Пример расчёта контрольного числа.

Код:           5 6 3 9 2 1
Вес разрядов:  1 2 3 4 5 6

Сумма произведений, полученная путём умножения каждой цифры кода на вес разряда, равна

5·1 + 6·2 + 3·3 + 9·4 + 2·5 + 1·6 = 78.

Остаток от деления полученной суммы на 11 равен 1:

78 = 11 * 7 + 1.

Контрольное число для данного кода равно 1.


[править]Номер ISSN

[править]Номер ISBN

Примечание! С 01.01.2007 года все издатели РФ получают в Российском национальном агентстве только 13-значные ISBN. Контрольная цифра 13-значного ISBN вычисляется по тому же алгоритму, что и контрольная цифра штрих-кода EAN-13 (описан выше). Нижеследующий текст относится к 10-значным, старым ISBN.

ISBN имеет 10 цифр, ISSN — 8 цифр. Последняя — контрольная. В том случае, если вместо последней цифры стоит буква «X», при вычислении контрольной суммы она заменяется на число 10.

 k10kkkkkkkkk
ISBN,
10 цифр
10987654321
ISSN,
8 цифр
  

Контрольная сумма есть остаток от деления на 11 суммы из цифр номера, умноженных на соответствующие коэффициенты из таблицы. Если контрольная сумма есть 0, то номер признаётся правильным.

Восстановление «контрольного числа» аналогично способу для штрих-кода, однако вместо «0» нужно подставлять цифру «11 — контрольная сумма». Если контрольная сумма равна 1, то подставляем «цифру» 10, то есть букву «X».

При нанесении ISBN на книгу в виде штрих-кода собственная контрольная цифра удаляется, слева приписывается префикс 978 (или 979, этот префикс пока не используется).

При нанесении ISSN на журнал в виде штрих-кода собственная контрольная цифра удаляется, слева приписывается префикс 977, а справа — 2 цифры, несущие некую дополнительную информацию, не содержащуюся непосредственно в ISSN (обычно 00 для платных изданий).

Далее, (в обоих случаях) справа приписывается контрольная цифра, вычисленная по 13-значному алгоритму для штрих-кода.

Конкретные примеры:

ISBN 5-93286-005-7 (книга — Ф.Брукс. «Мифический человеко-месяц», СПб, Символ, 2000 г.)

5x10+ 9x9+ 3x8+ 2x7+ 8x6+ 6x5+ 0x4+ 0x3+ 5x2+ 7x1=
50+ 81+ 24+ 14+ 48+ 30+ 0+ 0+ 10+ 7= 264= 24* 11+ 0(остаток).

Контрольная сумма (остаток) = 0 — номер правильный.

ISBN 0-446-52087-X (книга — E.Gordeeva. «My Sergei», A Time Warner Company.)

0x10+ 4x9+ 4x8+ 6x7+ 5x6+ 2x5+ 0x4+ 8x3+ 7x2+ 10x1=
0+ 36+ 32+ 42+ 30+ 10+ 0+ 24+ 14+ 10= 198= 18* 11+ 0(остаток).

Контрольная сумма (остаток) = 0 — номер правильный.

ISSN 0033-765X (журнал — «Радио», 2-2006.)

0x8+ 0x7+ 3x6+ 3x5+ 7x4+ 6x3+ 5x2+ 10x1=
0+ 0+ 18+ 15+ 28+ 18+ 10+ 10= 99= 9* 11+ 0(остаток).

Контрольная сумма (остаток) = 0 — номер правильный.

[править]Номера ОГРН и ОГРНИП

(Основной Государственный Регистрационный Номер (для Индивидуального Предпринимателя))

Состоят из 13 (или 15) цифр, из них последняя — n1 — контрольная.

Контрольная цифра равна остатку от деления на 11 (или на 13) числа, состоящего из первых 12 (или 14) цифр. Если остаток больше 9, то n1 = последней цифре остатка.

Конкретные примеры:

1037739010891 — 13 цифр, ОГРН.
Вычисляем остаток: -1+0-3+7-7+3-9+0-1+0-8+9 = -10(Признак Паскаля)
-10 + 11 = 1(остаток)
Контрольное число = 1 — совпадает, номер правильный.

1035006110083 — 13 цифр, ОГРН.
Вычисляем остаток: 103500611008 = 11 • 9409146455 + 3(остаток)
Контрольное число = 3 — совпадает, номер правильный.

1037739010891 — 13 цифр, ОГРН.
Вычисляем остаток: 103773901089 = 11 • 9433991008 + 1(остаток)
Контрольное число = 1 — совпадает, номер правильный.

304500116000157 — 15 цифр, ОГРНИП.
Вычисляем остаток: 30450011600015 = 13 • 2342308584616 + 7(остаток)
Контрольное число = 7 — совпадает, номер правильный.

304463210700212 — 15 цифр, ОГРНИП.
Вычисляем остаток: 30446321070021 = 13 • 2342024697693 + 12(остаток)
Контрольное число = 2 — совпадает с последней цифрой остатка, номер правильный.

Информация из Википедии


Comments