Использование остатка от деления в задачах
💻 Информатика · 8 класс
Зачем нужен остаток
Остаток от деления — это то, что остаётся от делимого после вычитания наибольшего возможного числа целых частей делителя. Например, при делении 17 на 5 целая часть равна 3, а остаток равен 2, потому что 5 * 3 + 2 = 17. В программировании операцию взятия остатка часто обозначают словом mod или знаком процента %.
Остаток — очень полезный инструмент для решения самых разных задач: он позволяет определять последнюю цифру числа, проверять делимость и кратность, а также моделировать повторяющиеся, циклические процессы — например, дни недели или часы на циферблате. Поэтому без него не обойтись ни в одной серьёзной программе.
Главные применения
| Задача | Приём | Пример |
|---|---|---|
| Последняя цифра | остаток от деления на 10 | 738 mod 10 = 8 |
| Проверка чётности | остаток от деления на 2 | n 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проверяет чётность.- Остаток, равный нулю, означает делимость нацело.
- Остаток моделирует циклические процессы — дни, часы, повторы.