Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру E. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
174 286 894 958 4126 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа и проверять их на соответствие двум условиям: трёхзначность в шестнадцатеричной системе счисления и окончание на цифру E.
Шаг 1. Разбор условий.
1. Трёхзначность в 16-ричной системе. Число является трёхзначным в шестнадцатеричной системе, если оно находится в диапазоне от 10016 до FFF16. Переведём эти границы в десятичную систему:
Нижняя граница: 1⋅162+0⋅161+0⋅160=256.
Верхняя граница: 15⋅162+15⋅161+15⋅160=4095.
Следовательно, число x должно удовлетворять условию: 256≤x≤4095.
2. Окончание на цифру E. Последняя цифра в любой системе счисления — это остаток от деления числа на основание этой системы. Цифра E в шестнадцатеричной системе соответствует десятичному числу 14. Значит, остаток от деления числа на 16 должен быть равен 14. Условие: x(mod16)=14.
Шаг 2. Алгоритм решения.
1. Создаём переменную-счётчик count и обнуляем её.
2. Организуем цикл чтения чисел до тех пор, пока не встретим 0.
3. Внутри цикла для каждого введённого числа проверяем: (оно ≥256) И (оно ≤4095) И (остаток от деления на 16 равен 14).
4. Если все условия верны, увеличиваем count на 1.
5. После окончания цикла выводим значение count.
Шаг 3. Проверка на примере.
Рассмотрим числа из примера:
- 174: 174<256 (не трёхзначное в 16-ричной системе).
- 286: 256≤286≤4095. Проверим остаток: 286/16=17 (ост. 14). Подходит! (28610=11E16).
- 894: 256≤894≤4095. Проверим остаток: 894/16=55 (ост. 14). Подходит! (89410=37E16).
- 958: 256≤958≤4095. Проверим остаток: 958/16=59 (ост. 14). Подходит! (95810=3BE16).
- 4126: 4126>4095 (уже четырёхзначное в 16-ричной системе).
Итого: 3 числа.
Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 14:
count += 1
x = int(input())
print(count)
Ответ: 3
Источник: ФИПИ