P
pro·school.ru
Каталог школ

Целочисленная арифметика: деление с остатком

💻 Информатика · 8 класс

Деление с остатком в программировании

При работе с целыми числами в программировании часто нужно разделить одно число на другое так, чтобы результат тоже остался целым. Для этого используют две специальные операции: целое деление (в языке Паскаль — div) и остаток от деления (mod). Эти операции — основа многих алгоритмов: разбора цифр числа, проверки делимости, перевода между системами счисления.

Что делают операции

Операция div возвращает целую часть частного, отбрасывая дробную часть. Операция mod возвращает остаток, который получается после деления. Разберём на примере деления семнадцати на пять:

17 div 5 = 3 (целая часть частного) 17 mod 5 = 2 (остаток) Проверка: 3 * 5 + 2 = 17

Главное соотношение, которое всегда выполняется для неотрицательных чисел:

a = (a div b) * b + (a mod b)

Таблица примеров

ВыражениеРезультатПояснение
20 div 63целая часть частного
20 mod 62остаток
10 div 101делится нацело
10 mod 100остаток равен нулю
4 div 90делимое меньше делителя

Разбор числа на цифры

С помощью этих операций удобно выделять цифры числа. Остаток от деления на десять даёт последнюю цифру, а целое деление на десять «отрезает» её. Найдём цифры трёхзначного числа 347:

347 mod 10 = 7 (единицы) 347 div 10 = 34 34 mod 10 = 4 (десятки) 34 div 10 = 3 (сотни)

Проверка делимости

Число a делится на число b без остатка тогда и только тогда, когда a mod b = 0. Так проверяют чётность: если a mod 2 = 0, число чётное, иначе нечётное. Аналогично можно проверить, делится ли число на три, на пять или на любое другое.

Сумма цифр числа

Операции div и mod позволяют не только выделить цифры, но и сложить их. Идея в том, чтобы в цикле отделять последнюю цифру остатком и накапливать сумму, а само число уменьшать целым делением. Схема для трёхзначного числа выглядит так:

сумма = 0 сумма = сумма + (n mod 10); n = n div 10 сумма = сумма + (n mod 10); n = n div 10 сумма = сумма + (n mod 10); n = n div 10

После трёх шагов число n станет равно нулю, а в переменной «сумма» окажется сумма всех его цифр. Этот приём — основа многих задач на обработку чисел.

Поведение при отрицательных числах

В школьных задачах обычно работают с неотрицательными целыми числами. Стоит помнить, что результат целого деления — это всегда целое число, дробная часть не округляется, а просто отбрасывается. Поэтому 7 div 2 равно трём, а не округлённой четвёрке.

Частая ошибка. Путают div и mod: первая даёт частное, вторая — остаток. Также нельзя делить на ноль — обе операции в этом случае вызывают ошибку выполнения программы. И помните: целое деление отбрасывает дробную часть, а не округляет её.

Кратко о главном

  • div даёт целую часть частного, mod — остаток.
  • Всегда верно a = (a div b) * b + (a mod b).
  • Остаток от деления на десять выделяет последнюю цифру.
  • Условие a mod b = 0 означает деление нацело.