Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 8. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
5 168 280 888 952 4120 | 3 |
Решение
Решение.
Разберём задачу по шагам, чтобы понять, какие условия должны выполняться для каждого числа в последовательности.
Шаг 1. Анализ условия "трёхзначное число в шестнадцатеричной системе".
В шестнадцатеричной системе счисления (основание 16) числа записываются с помощью цифр от 0 до 9 и букв A-F.
Минимальное трёхзначное число в этой системе — это 10016. Переведём его в десятичную систему: 1⋅162+0⋅161+0⋅160=256.
Максимальное трёхзначное число — это FFF16. Переведём его в десятичную систему: 15⋅162+15⋅161+15⋅160=4095.
Следовательно, число x является трёхзначным в шестнадцатеричной системе, если оно находится в диапазоне: 256≤x≤4095.
Шаг 2. Анализ условия "оканчивается на цифру 8 в шестнадцатеричной системе".
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в шестнадцатеричной системе оканчивалось на 8, остаток от его деления на 16 должен быть равен 8.
Математически это записывается так: x(mod16)=8.
Шаг 3. Алгоритм решения.
1. Сначала считываем количество чисел N.
2. Создаём переменную-счётчик (например, count) и приравниваем её к 0.
3. В цикле N раз считываем очередное число x.
4. Проверяем два условия одновременно: (256≤x≤4095) И (x(mod16)=8).
5. Если условия верны, увеличиваем count на 1.
6. После завершения цикла выводим значение count.
Шаг 4. Проверка на примере.
Рассмотрим числа из примера:
- 168: меньше 256. Не подходит.
- 280: 256≤280≤4095 — верно. 280(mod16)=8 (так как 280=16⋅17+8) — верно. Подходит (1).
- 888: 256≤888≤4095 — верно. 888(mod16)=8 (так как 888=16⋅55+8) — верно. Подходит (2).
- 952: 256≤952≤4095 — верно. 952(mod16)=8 (так как 952=16⋅59+8) — верно. Подходит (3).
- 4120: больше 4095. Не подходит.
Итого: 3 числа.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 8:
count += 1
print(count)
Ответ: 3
Источник: ФИПИ