Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Корельская Елена Юрьевна
Урок 4. Теория
На прошлом занятии мы узнали, что с числовыми переменными можно выполнять действия: сложение (+), вычитание (-), умножение (*), деление (/), возведение в степень (**).
Эти действия можно выполнять как с целыми(int), так и вещественными числами (float).
Есть еще две операции, которые применяются
только к целым числам (
int
)
, результат этих действий – тоже целое число (int).
Целочисленное деление
a // b
– это получение неполного частного при делении целого числа a на целое число b. Результат – целое число.
Например,
7 // 2 = 3
100 // 20 = 5
30 // 4 = 7
Взятие остатка от деления
a % b
– это получение остатка при делении целого числа a на целое число b. Результат – целое число.
Например,
7 % 2 = 1
100 % 20 = 0
30 % 4 = 2
При решении некоторых задач полезно бывает выполнение целочисленного деления с округлением вверх, то есть до ближайшего целого числа не меньшего
a // b.
Задача:
n
обучающихся едут на экскурсию на автобусах. В каждый автобус вмещаются
20
человек. Нужно определить, сколько автобусов нужно заказать.
Если
n = 100
, то потребуется
100 // 20 = 5
автобусов.
Если
n = 110
, то потребуется
110 // 20 = 5
автобусов и еще один автобус, чтобы разместить оставшихся 10 человек. То есть нужно будет
110 // 20 + 1 = 6
Иными словами, нам нужно найти округление вверх до ближайшего целого числа.
Целочисленное деление с округлением вверх можно записать следующей формулой:
(
a
+
b
-
1)//
b
.
Убедимся, что эта формула округляет верно:
Если а делится на b, то добавление к
a
числа
b – 1
не изменит результата, ведь
b-1<b.
Если
a
не делится нацело на
b
, то прибавление числа
b-1
увеличит результат на
1
.
Убедимся в этом, на примере задачи, приведенной выше:
a =100, b = 20: (a+b-1)//b = (100+20-1)//20 = 119//20 = 5
a =110, b = 20: (a+b-1)//b = (110+20-1)//20 = 129//20 = 6
Чтобы оставить комментарий нужна авторизация
Печать