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

Вопрос школьника по предмету Информатика

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

Ответ учителя по предмету Информатика

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 (16<=a[i]) and (a[i]<=254) then

  if (a[i] div 16) > (a[i] mod 16) then k:=k+1;

  writeln(k);

end.

n = 4

160 148 63 528

2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей