Условие
Дано натуральное (целое неотрицательное) число
а
и целое положительное число
d. Вычислить частное
q
и остаток
r при делении
а на
d, не используя
операций
div и
mod.
Решение
Согласно определению,
a =
q . d +
r,
0
≤r <
d.
{a >= 0; d > 0}
r := a; q := 0;
{инвариант: a = q * d + r, 0 <= r}
while not (r < d) do begin
| {r >= d}
| r := r - d; {r >= 0}
| q := q + 1;
end;
Источники и прецеденты использования
|
книга |
Автор |
А.Шень |
Название |
Программирование: теоремы и задачи |
Издательство |
МЦНМО |
Издание |
второе |
Год издания |
2004 |
глава |
Номер |
1 |
Название |
Переменные, выражения, присваивания |
параграф |
Номер |
1 |
Название |
Задачи без массивов |
задача |
Номер |
1.1.7 |