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

Использование остатка от деления в задачах

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

Зачем нужен остаток

Остаток от деления — это то, что остаётся от делимого после вычитания наибольшего возможного числа целых частей делителя. Например, при делении 17 на 5 целая часть равна 3, а остаток равен 2, потому что 5 * 3 + 2 = 17. В программировании операцию взятия остатка часто обозначают словом mod или знаком процента %.

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

Главные применения

ЗадачаПриёмПример
Последняя цифраостаток от деления на 10738 mod 10 = 8
Проверка чётностиостаток от деления на 2n mod 2 = 0 → чётное
Проверка кратностиостаток равен нулю15 mod 3 = 0
Движение по кругуостаток от деления на длинудни недели, часы

Разбор примера с циклом

Сегодня среда — это 3-й день недели. Какой день будет через 100 дней? Дни недели идут по кругу, и всего их 7, поэтому здесь естественно использовать остаток от деления на 7.

(3 + 100) mod 7
= 103 mod 7
так как 7 * 14 = 98, то 103 - 98 = 5
= 5 → 5-й день недели → пятница

Если бы мы просто прибавили 100 к номеру дня, получилось бы число 103, которое не имеет смысла как номер дня недели. Остаток же «сворачивает» большое число обратно в диапазон от 0 до 6.

Частая ошибка. Не путайте остаток (mod) и целую часть от деления (div). Для числа 17 и делителя 5: 17 div 5 = 3, а 17 mod 5 = 2. Первая операция отвечает «сколько раз помещается», вторая — «что осталось».

Как разбирать число на цифры

Чтобы перебрать цифры числа справа налево, многократно берут остаток от деления на 10 (он даёт последнюю цифру) и затем убирают эту цифру целочисленным делением на 10. Процесс повторяют, пока число не станет равно нулю.

пока n > 0:
  цифра = n mod 10 (получили последнюю цифру)
  n = n div 10 (отбросили её)

Этот приём лежит в основе задач о сумме цифр, переворачивании числа и проверке чисел на особые свойства. Например, чтобы найти сумму всех цифр числа, на каждом шаге цикла прибавляют к сумматору очередную цифру n mod 10, а затем отбрасывают её делением n div 10. Так число постепенно «съедается» справа, пока не останется ноль.

Ещё одно важное применение остатка — проверка делимости сразу на несколько чисел. Чтобы узнать, делится ли число на 3 без остатка, достаточно вычислить n mod 3 и сравнить результат с нулём. Если остаток равен нулю — число кратно трём, если нет — не кратно. Этот же приём используют, чтобы отбирать каждый третий или каждый пятый элемент последовательности, проверяя остаток от деления номера элемента.

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

  • Остаток — это то, что осталось после деления нацело.
  • mod 10 даёт последнюю цифру, mod 2 проверяет чётность.
  • Остаток, равный нулю, означает делимость нацело.
  • Остаток моделирует циклические процессы — дни, часы, повторы.