Арифметика

Проверка вычислений

Арабский секрет проверки: как торговцы защищались от обмана

В **825 году** персидский математик **Аль-Хорезми** (от чьего имени - слово «алгоритм») описал метод проверки вычислений через деление на 9. Арабские купцы использовали его, чтобы ловить ошибки - и мошенников - при расчётах с караванами специй.

Когда забыл, чему равно деление - проверь по девяткам. - Арабская торговая мудрость

Метод девяток не идеален: он пропускает ошибки, кратные 9. Поменяй местами цифры - 36↔63 - корень тот же (9). Но для торговца на базаре этого хватало: **9 из 10 опечаток** ловились мгновенно. В эпоху без калькуляторов это было бесценно.

Бухгалтер проверяет баланс: дебет должен сойтись с кредитом. Программист проверяет код: тест должен пройти. Древние математики проверяли вычисления методом девяток. 7×8=54? Проверим: 7+8=15→6, но 5+4=9. 6≠9 - ошибка! Правильно: 56.

  • **Бухгалтерия:** проверка баланса и отчётов
  • **Программирование:** unit-тесты и assertions
  • **Наука:** воспроизводимость экспериментов

Метод девяток

**Метод девяток** (casting out nines) - древний способ проверки арифметических вычислений. Основан на том, что остаток от деления числа на 9 равен остатку от деления суммы его цифр на 9.

**Принцип:** Для любого числа N: N mod 9 = (сумма цифр N) mod 9 **Почему работает:** 10 ≡ 1 (mod 9) 100 ≡ 1 (mod 9) 1000 ≡ 1 (mod 9) Значит abc = 100a + 10b + c ≡ a + b + c (mod 9)

Метод девяток не гарантирует правильность (ошибка в 9 может остаться незамеченной), но ловит большинство опечаток.

Какой цифровой корень (по модулю 9) у числа 7654?

Цифровой корень

**Цифровой корень** (digital root) - результат повторного сложения цифр до получения однозначного числа. Это тот же остаток по модулю 9, но записанный как 1-9 (не 0-8).

**Формула цифрового корня:** dr(n) = 1 + ((n - 1) mod 9) или dr(n) = n mod 9, если n mod 9 ≠ 0 dr(n) = 9, если n mod 9 = 0 **Диапазон:** всегда от 1 до 9

Цифровой корень - простой инвариант числа. Он сохраняется при арифметических операциях и позволяет быстро проверять вычисления.

Если dr(a) = 7 и dr(b) = 5, чему равен dr(a × b)?

Обратная операция

**Обратная операция** - самый надёжный способ проверки. Если a + b = c, то c - b должно равняться a. Если a × b = c, то c ÷ b должно равняться a.

**Принцип обратной проверки:** • Сложение ↔ Вычитание • Умножение ↔ Деление • Возведение в степень ↔ Извлечение корня / Логарифм **Преимущество:** гарантированная проверка, не статистическая

Обратная проверка требует больше времени, чем метод девяток, но даёт 100% уверенность в результате.

Как проверить, что 456 ÷ 12 = 38?

Проверка на здравый смысл

**Sanity check** (проверка на вменяемость) - быстрая оценка порядка величины результата. Позволяет мгновенно отсеять грубые ошибки до точных вычислений.

**Типы проверок:** 1. **Порядок величины:** результат должен быть примерно в ожидаемом диапазоне 2. **Чётность:** чёт + чёт = чёт, нечёт × нечёт = нечёт 3. **Последняя цифра:** предсказуема по последним цифрам операндов 4. **Знак:** отрицательное × отрицательное = положительное

Sanity check не заменяет точную проверку, но экономит время. Если результат "смотрится странно" - пересчитай, не полагаясь на калькулятор.

Калькулятор всегда прав, проверять не нужно

Ошибки ввода и округления случаются, проверка критична

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

Какой sanity check выявит ошибку в 789 × 456 = 35984?

Ключевые идеи

  • Метод девяток: сумма цифр mod 9 сохраняется
  • Цифровой корень: однозначный инвариант числа
  • Обратная операция: 100% надёжная проверка
  • Sanity check: порядок, чётность, последняя цифра

Связанные темы

Проверка связана с:

  • Делимость — Признак делимости на 9
  • Модульная арифметика — Остатки и сравнения
  • Погрешности — Источники ошибок

Вопросы для размышления

  • Почему метод девяток не ловит ошибки в 9 единиц?
  • В каких ситуациях sanity check важнее точной проверки?
  • Как проверка вычислений связана с тестированием в программировании?

Связанные уроки

  • alg-01
Проверка вычислений

0

1

Войти