На предыдущей странице мы рассматривали выделение цифр трехзначного числа. Здесь рассматриваются задачи Integer17 - Integer18 из задачника Абрамяна, где находим цифры разряда сотен и тысяч в числах, больших трехзначных.
Integer17. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду сотен в записи этого числа.
Пусть мы имеем число 7829301, и нам нужно определить число сотен (цифру 3). Сначала мы удаляем две последние цифры – для этого разделим нацело данное число на 100: 7829301 **div** 100 = 78293
. Потом для выделения последней цифры 3 находим остаток от деления на 10: 78293 **mod** 10 = 3
. Эта последовательность описана в программе ниже.
var
N: word;
begin
write('Введите целое число, большее 999: ');
readln(N); { <-- вводим число }
writeln;
N := N div 100; { <== удаляем последние две цифры }
N := N mod 10; { <== последняя цифа полученного числа }
writeln('Число сотен: ', N);
readln
end.
**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535A **div** B
- целочисленное деление А на ВA **mod** B
- остаток при целочисленном делении А на В Integer18. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду тысяч в записи этого числа.
Как и в задаче Integer17 выше, для определения цифры тысяч, сначала удалим последние 3 цифры, а потом в полученном числе выделим последнюю цифру. Например, для числа 123456789 число тычяч равно 6. Поэтому:
123456789 **div** 1000 = 123456
;123456 **mod** 10 = 6
– это и будет результат.var
N: longword;
begin
write('Введите целое число, большее 999: ');
readln(N); { <-- вводим число }
writeln;
{ Удаляем последние 3 цифры и в новом
числе находим последнюю цифру: }
writeln('Число тысяч: ', N div 1000 mod 10);
readln
end.
**type** longword;
: Представляет 32-битовое целое число без знака.Диапазон значений: 0 .. 4 294 967 295A **div** B
- целочисленное деление А на ВA **mod** B
- остаток при целочисленном делении А на В