Дан массив, содержащий 2017 положительных целых чисел, не превосходящих 10000. Нужно

Дан массив, содержащий 2017 положительных целых чисел, не превосходящих 10000. Нужно найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит ровно два знака, и при этом первая цифра больше 2-ой. К примеру, для массива из 4 элементов, содержащего числа 160, 148, 63, 528, ответ будет равен 2. В шестнадцатеричной системе эти числа записываются как A0, 94, 3F, 210; 1-ые два числа подходят, в третьем 1-ая цифра не больше второй, в четвёртом больше 2-ух символов.
На языке Паскаль растолкуйте , пожалуйста!

Задать свой вопрос
2 ответа
Возьмем произвольное число n. Оно будет иметь ровно два знака в шестнадцатеричной записи тогда и только тогда, когда 15 lt; n lt; 256. Таким образом, задачка сводится к нахождению количества частей массива находящихся в интервале (15; 256). 
Первую цифру числа в шестнадцатеричной записи можно найти как N div 16, а вторую - N mod 16
Программка на языке Pascal:

const
  N = 2017; // Количество частей в массиве

var
  a: array[1..N] of integer;
  i, c: integer;

begin
  // Генерация массива (можно поменять на ввод с клавиатуры)
  for i := 1 to N do
    a[i] := Random(10000) + 1;
  // Подсчет количества частей массива, удовлетворяющим 
неравенству
  c := 0;
  for i := 1 to N do
    if (a[i] gt; 15) and (a[i] lt; 256) and (a[i] div 16 gt; a[i] mod 16) then
      c += 1;
  write(c);
end.
Костя Варушенков
Как обычно, моя невнимательность, сейчас поправлю
Звержинская Кира
Отправьте на исправление
Var i,k,n: integer;
    a: array[1..2017] of integer;
begin
//  n:=2017;
  write('n = ');  readln(n);  // для проверки
  for i:=1 to n do read(a[i]);
  k:=0;
  for i:=1 to n do
  if (16lt;=a[i]) and (a[i]lt;=254) then
  if (a[i] div 16) gt; (a[i] mod 16) then k:=k+1;
  writeln(k);
end.

n = 4
160 148 63 528
2


, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт