← Все вопросы
div и mod в паскале, какой остаток а какой целая часть? вечно путаю
6
Не могу запомнить что делает div, а что mod. Надо из числа 1234 вынуть последнюю цифру и сколько в нём десятков. Пишу наугад и получаю не то. Например для последней цифры написал div и вышло 123, а мне надо 4.
var
n: integer;
begin
n := 1234;
writeln(n div 10);
writeln(n mod 10);
end.
Объясните по-нормальному кто из них кто.
2 ответа
12
✓ Принятый ответ — помог автору
На самом деле твой код уже правильный, ты просто перепутал кто что:
n mod 10= 4 — это последняя цифра (остаток от деления на 10).n div 10= 123 — это число без последней цифры (целая часть деления).
Запомни так:
- div — целочисленное деление, отбрасывает остаток.
17 div 5 = 3(5 влезает 3 раза). - mod — остаток от деления.
17 mod 5 = 2(3 раза по 5 это 15, осталось 2).
Для твоей задачи:
var
n: integer;
begin
n := 1234;
writeln('Последняя цифра: ', n mod 10); // 4
writeln('Без последней: ', n div 10); // 123
end.
Лайфхак: mod = 'остаток', думай про деление столбиком — это то, что осталось внизу. div = сколько целых раз поделилось. Очень частая тема на ОГЭ/ЕГЭ, разбери цифры числа этими двумя — половина задач решается.
4
я запомнил по буквам: mOd — Остаток. а div — это деление 'по-честному но без дробей'. проверка чётности тоже через mod: если n mod 2 = 0 — чётное
Ваш ответ
Войдите, чтобы ответить на вопрос.