Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 4. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
164 276 884 948 4116 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое введённое число на соответствие двум условиям в шестнадцатеричной системе счисления: трёхзначность и окончание на цифру 4.
Шаг 1. Разбор условий.
1. Трёхзначность в шестнадцатеричной системе. Минимальное трёхзначное число в системе с основанием 16 — это 10016, а максимальное — FFF16.
Переведём их в десятичную систему:
Нижняя граница: 162=256.
Верхняя граница: 163−1=4096−1=4095.
Следовательно, число x трёхзначно в шестнадцатеричной системе, если 256≤x≤4095.
2. Окончание на цифру 4. Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Значит, нам нужно, чтобы остаток от деления числа на 16 был равен 4.
Математически: x(mod16)=4.
Шаг 2. Алгоритм решения.
Мы будем считывать числа в цикле до тех пор, пока не встретим 0. Для каждого числа проверим выполнение обоих условий одновременно (используя логическое "И"). Если условия верны, увеличим счётчик на 1.
Шаг 3. Программная реализация (на языке Python).
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 4:
count += 1
x = int(input())
print(count)
Шаг 4. Проверка на примере.
Рассмотрим числа из примера:
1. 164: 256≤164≤4095 — Ложь. (Число двузначно в 16-й системе: A416).
2. 276: 256≤276≤4095 — Истина. Проверим окончание: 276(mod16)=4 (так как 276=16⋅17+4). Подходит. (Это 11416).
3. 884: 256≤884≤4095 — Истина. Проверим окончание: 884(mod16)=4 (так как 884=16⋅55+4). Подходит. (Это 37416).
4. 948: 256≤948≤4095 — Истина. Проверим окончание: 948(mod16)=4 (так как 948=16⋅59+4). Подходит. (Это 3B416).
5. 4116: 256≤4116≤4095 — Ложь. (Число четырёхзначно в 16-й системе).
Итого: 3 подходящих числа.
Ответ: 3
Источник: ФИПИ