Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 9. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
169 281 889 953 4121 0 | 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. Анализ условия "оканчивается на цифру 9 в шестнадцатеричной системе".
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы.
Чтобы число в шестнадцатеричной системе оканчивалось на 9, остаток от его деления на 16 должен быть равен 9.
Математически это записывается так: x(mod16)=9.
3. Алгоритм решения:
— Создадим переменную-счётчик count и обнулим её.
— Будем считывать числа в цикле до тех пор, пока не встретим 0.
— Для каждого считанного числа проверим два условия одновременно: оно должно быть в диапазоне от 256 до 4095 включительно И остаток от его деления на 16 должен быть равен 9.
— Если оба условия выполняются, увеличим счётчик на 1.
— В конце выведем значение счётчика.
4. Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 9:
count += 1
x = int(input())
print(count)
5. Проверка на примере из условия:
— Число 169: 256≤169≤4095 — Ложь. (Не подходит)
— Число 281: 256≤281≤4095 — Истина. Проверяем остаток: 281(mod16)=9 (так как 281=17⋅16+9) — Истина. (Подходит, count = 1)
— Число 889: 256≤889≤4095 — Истина. Проверяем остаток: 889(mod16)=9 (так как 889=55⋅16+9) — Истина. (Подходит, count = 2)
— Число 953: 256≤953≤4095 — Истина. Проверяем остаток: 953(mod16)=9 (так как 953=59⋅16+9) — Истина. (Подходит, count = 3)
— Число 4121: 256≤4121≤4095 — Ложь. (Не подходит)
Итого: 3.
Ответ: 3
Источник: ФИПИ