Предмет: Информатика,
автор: Аноним
Дан массив, содержащий 2019 положительных целых чисел, не превышающих
15 000. Необходимо найти количество элементов массива, шестнадцатеричная
запись которых заканчивается цифрой A, заменить на это количество все
элементы, восьмеричная запись которых содержит ровно 2 цифры, и вывести
изменённый массив.
Напишите на одном из языков программирования программу для решения
этой задачи. Исходные данные объявлены так, как показано ниже.
Запрещается использовать переменные, не описанные ниже, но разрешается
не использовать часть из описанных.
Ответы
Автор ответа:
2
===== PascalABC.NET =====
begin
var a := ArrRandom(2019, 1, 15000);
// раскомментировать если не надо выводить исходный массив:
//var k := a.Count(p -> p mod 16 = 10);
// закомментировать, если не надо выводить исходный массив:
var k := a.Println.Count(p -> p mod 16 = 10);
Println('Найдено элементов:', k);
var n := 0;
for var i := 0 to a.High do
if a[i].InRange(8, 63) then
(a[i], n) := (k, n + 1);
a.Println;
Println('Сделано замен:', n)
end.
Объяснение:
Если шестнадцатеричная запись числа заканчивается цифрой A, то остаток от его деления на 16 равен А₁₆ = 10.
Числа, восьмеричная запись которых содержит ровно 2 цифры, лежат в диапазоне [10₈; 77₈] = [8; 63]
Приложения:

Похожие вопросы
Предмет: Английский язык,
автор: anastasia7483
Предмет: Математика,
автор: Kliuzinav
Предмет: Математика,
автор: mvretsonaaria
Предмет: Математика,
автор: Аноним
Предмет: История,
автор: obrosovbogdan