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