Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 5. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
165 277 885 949 4117 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое введённое число на соответствие двум условиям в шестнадцатеричной системе счисления: трёхзначность и окончание на цифру 5.
1. Разберём условие трёхзначности в 16-ричной системе.
Минимальное трёхзначное число в шестнадцатеричной системе — это 10016. Переведём его в десятичную систему: 1⋅162+0⋅161+0⋅160=256.
Максимальное трёхзначное число — это FFF16. Следующее за ним число — 100016, которое равно 163=4096.
Следовательно, число x является трёхзначным в 16-ричной системе, если оно находится в диапазоне: 256≤x<4096.
2. Разберём условие окончания на цифру 5.
Последняя цифра числа в любой системе счисления с основанием n — это остаток от деления этого числа на n.
Значит, чтобы число в шестнадцатеричной системе оканчивалось на 5, остаток от его деления на 16 должен быть равен 5. На языке программирования (например, Python) это записывается как x % 16 == 5.
3. Алгоритм решения:
— Создаём переменную-счётчик count и приравниваем её к 0.
— Организуем цикл чтения чисел до тех пор, пока не будет введён 0.
— Внутри цикла для каждого числа проверяем составное условие: (x >= 256) and (x < 4096) and (x % 16 == 5).
— Если условие выполняется, увеличиваем count на 1.
— После окончания цикла выводим значение count.
4. Проверим пример из условия:
— Число 165: 256≤165 — Ложь. (Не подходит)
— Число 277: 256≤277<4096 — Истина. Проверяем остаток: 277=16⋅17+5. Остаток 5. (Подходит, 1-е число)
— Число 885: 256≤885<4096 — Истина. Проверяем остаток: 885=16⋅55+5. Остаток 5. (Подходит, 2-е число)
— Число 949: 256≤949<4096 — Истина. Проверяем остаток: 949=16⋅59+5. Остаток 5. (Подходит, 3-е число)
— Число 4117: 4117<4096 — Ложь. (Не подходит)
Итого: 3 числа.
Ответ: 3
Источник: ФИПИ