Бухгалтерам часто приходится заносить в любую программу массивы чисел с различных бумажных документов. Из-за естественной усталости часто в одном из чисел с клавиатуры при быстром наборе происходит стандартная ошибка при перемене мест цифр в числе. Например, вместо …687… набивается …678…
При последующей проверке известных итогов наличествует разница. После чего бухгалтеру приходится заново поднимать бумажные локументы и крыжить каждое число. Но, согласитесь, что имеющаяся итоговая разница может многое сказать о том, какое число может иметь ошибку, а какое не может и его можно спокойно пропустить при проверке.
Математика.
Любое число является графическим изображением десятичной записи цифр (0,…,9):
An…A3A2A1 = An*10^n + … + A3*1000 + A2*100 + A1*10 + A0
Видно, что если поменять рядом местами две цифры на местах m и (m-1), то между этими двумя числами возникает разница:
Дельта(m) = Am*10^m – A|(m-1)*10^m + A|(m-1)*10^(m-1) – Am*10^(m-1) = 9*10^(m-1) * (Am – A|(m-1))
Другими словами, разница будет всегда делиться на 9 и столько нулей, сколько разрядов в месте ошибки, и сомножителем будет разница в переставленных местами цифрах.
Практический сегодняшний пример. Бухгалтер долго мучалась в поиске ошибки большого массива чисел со ста документов. Итог рвал ровно на 180. Вооружившись занимательной бухгалтерией, мы уже сразу смогли с большой вероятностью предположить, что:
1. в каком-то числе поменяны местами соседние цифры (180 делится на 9)
2. местами поменяны десятки и сотни (180 делится на 10)
3. между цифрами разница в двойку (180 / 90 = 2)
Отсюда просто глазами пробежали с ней все числа, спокойно пропуская разные концовки вроде:
…101
…446
…524
сразу же выщелкнули подозреваемого: 216792
из всей кучи ведомостей выбрали подозреваемую и убедились, что ошиблись именно в ней… там стояло 216972


Ответить с цитированием