Root /ArchiveAbout
()

Разряд сотен и тысяч

Разряд сотен и тысяч

На предыдущей странице мы рассматривали выделение цифр трехзначного числа. Здесь рассматриваются задачи 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 535 A **div** B - целочисленное деление А на В A **mod** B - остаток при целочисленном делении А на В Integer18. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду тысяч в записи этого числа.

Как и в задаче Integer17 выше, для определения цифры тысяч, сначала удалим последние 3 цифры, а потом в полученном числе выделим последнюю цифру. Например, для числа 123456789 число тычяч равно 6. Поэтому:

  1. 123456789 **div** 1000 = 123456;
  2. 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 295 A **div** B - целочисленное деление А на В A **mod** B - остаток при целочисленном делении А на В