Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру D. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
173 285 893 957 4125 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое введённое число на соответствие двум условиям в шестнадцатеричной системе счисления: трёхзначность и окончание на цифру D.
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. Условие окончания на цифру D:
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы.
Цифра D в шестнадцатеричной системе соответствует десятичному числу 13.
Значит, число оканчивается на D, если остаток от его деления на 16 равен 13. На языке программирования это записывается как x(mod16)=13.
3. Алгоритм решения:
- Создаём переменную-счётчик и обнуляем её.
- Организуем цикл чтения чисел до тех пор, пока не встретим 0.
- Внутри цикла проверяем: если число находится в диапазоне от 256 до 4095 включительно И остаток от деления на 16 равен 13, то увеличиваем счётчик на 1.
- После завершения цикла выводим значение счётчика.
Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 13:
count += 1
x = int(input())
print(count)
Разберём пример из условия:
- 173: меньше 256 (не подходит).
- 285: 256≤285≤4095. Проверим остаток: 285=17⋅16+13. Остаток 13. Подходит (11D16).
- 893: 256≤893≤4095. Проверим остаток: 893=55⋅16+13. Остаток 13. Подходит (37D16).
- 957: 256≤957≤4095. Проверим остаток: 957=59⋅16+13. Остаток 13. Подходит (3BD16).
- 4125: больше 4095 (не подходит).
Итого: 3 числа.
Ответ: 3
Источник: ФИПИ