Остаток от деления и деление без остатка
Остаток от деления (деление по модулю)
Чтобы получить остаток от деления мы можем воспользоваться оператором %
Как видно из примера, мы получим 2 — это и будет остаток от деления.
Где такое может понадобиться? Как пример, если в цикле вы будете генерировать строки таблицы и каждую 3 строку вам нужно будет стилизовать:
В данном примере показана каждая третья строка, но можно также сделать и с другим числом:
if (i % 2 === 0)
— каждая вторая строка
if (i % 5 === 0)
— каждая пятая строка
if (i % 10 === 0)
— каждая 10я строка и т.д.
Другой пример, когда вам нужно проверить делимость числа например на 10 и 100 без остатка:
Деление без остатка
Чтобы получить целое число от деления можно использовать несколько вариантов.
Первый вариант, наиболее очевидный, это округление числа после операции деления:
Подробнее про разные способы округления чисел (в меньшую и в большую сторону) можете прочитать по ссылке.
Еще один вариант, предложенный пользователем в комментариях:
Также есть другие варианты, с использованием битовых операций:
Задача. Функция для определения простого числа
Давайте теперь на примере посмотрим, как можно использовать остаток от деления для решения такой задачи. Простое число: это положительное число, которое делиться только на самого себя и на 1.
Итак, напишем функцию, которая на вход принимает какое-то число, дальше в цикле начиная с 2 (т.к. на единицу итак все делиться), пока счетчик меньше передаваемого числа, проверяем будет ли num
делиться без остатка. Если делиться, значит num
не является простым числом:
Last updated