Создавать и выполнять программы на универсальном языке программирования · 170 заданий
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру B. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
5 171 283 891 955 4123 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям в шестнадцатеричной системе счисления: трёхзначности и окончанию на цифру B.
Шаг 1. Разбор условий.
1. Трёхзначность в 16-ричной системе. Минимальное трёхзначное число в 16-ричной системе — это 10016, а максимальное — FFF16. Переведём их в десятичную систему:
Нижняя граница: 1⋅162+0⋅161+0⋅160=25610.
Верхняя граница: 15⋅162+15⋅161+15⋅160=409510.
Следовательно, число x трёхзначно в 16-ричной системе, если 256≤x≤4095.
2. Окончание на цифру B. Последняя цифра в 16-ричной системе — это остаток от деления числа на 16. Цифра B соответствует десятичному числу 11. Значит, условие записывается как: x(mod16)=11.
Шаг 2. Алгоритм решения.
1. Сначала считываем количество чисел N.
2. Заводим переменную-счётчик (например, count) и обнуляем её.
3. В цикле от 1 до N считываем очередное число x.
4. Проверяем составное условие: (x >= 256) and (x <= 4095) and (x % 16 == 11).
5. Если условие выполняется, увеличиваем счётчик на 1.
Шаг 3. Проверка примера.
Даны числа: 171,283,891,955,4123.
- 171: 171<256 (не трёхзначное).
- 283: 256≤283≤4095 — верно. 283(mod16)=11 (так как 283=16⋅17+11) — верно. Подходит.
- 891: 256≤891≤4095 — верно. 891(mod16)=11 (так как 891=16⋅55+11) — верно. Подходит.
- 955: 256≤955≤4095 — верно. 955(mod16)=11 (так как 955=16⋅59+11) — верно. Подходит.
- 4123: 4123>4095 (не трёхзначное, это 101B16).
Итого: 3 числа.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 11:
count += 1
print(count)
Ответ: 3
Источник: ФИПИ