Вопрос по информатике:
Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит ровно два знака, и при этом первая цифра больше второй. Например, для массива из 4 элементов, содержащего числа 160, 148, 63, 528, ответ будет равен 2. В шестнадцатеричной системе эти числа записываются как A0, 94, 3F, 210; первые два числа подходят, в третьем – первая цифра не больше второй, в четвёртом – больше двух знаков.
На языке Паскаль объясните , пожалуйста!
- 12.11.2017 11:38
- Информатика
- remove_red_eye 8547
- thumb_up 29
Ответы и объяснения 2
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
- 13.11.2017 07:39
- thumb_up 39
Первую цифру числа в шестнадцатеричной записи можно найти как 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] > 15) and (a[i]a[i] mod 16) then
c += 1;
write(c);
end.
- 14.11.2017 13:43
- thumb_up 21
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.