Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 3. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
163 275 883 947 4115 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое введённое число на соответствие двум условиям, связанным с его представлением в шестнадцатеричной системе счисления.
1. Условие трёхзначности в шестнадцатеричной системе.
Число является трёхзначным в системе счисления с основанием 16, если оно находится в диапазоне от минимального трёхзначного числа 10016 до максимального трёхзначного числа FFF16.
Переведём эти границы в десятичную систему:
Нижняя граница: 1⋅162+0⋅161+0⋅160=256.
Верхняя граница: 163−1=4096−1=4095.
Таким образом, число x трёхзначно в шестнадцатеричной системе, если 256≤x≤4095.
2. Условие окончания на цифру 3.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в шестнадцатеричной системе оканчивалось на 3, остаток от его деления на 16 должен быть равен 3.
Математически: x(mod16)=3.
3. Алгоритм решения:
— Создаём переменную-счётчик count и обнуляем её.
— Организуем цикл чтения чисел до тех пор, пока не будет введён 0.
— Внутри цикла проверяем: если число x≥256, и x≤4095, и x(mod16)=3, то увеличиваем count на 1.
— После завершения цикла выводим значение count.
Проверим пример из условия:
— 163: 163<256 (не подходит).
— 275: 256≤275≤4095, но 275(mod16)=3 (так как 275=16⋅17+3). Подходит (1).
— 883: 256≤883≤4095, и 883(mod16)=3 (так как 883=16⋅55+3). Подходит (2).
— 947: 256≤947≤4095, и 947(mod16)=3 (так как 947=16⋅59+3). Подходит (3).
— 4115: 4115>4095 (не подходит).
Итого: 3.
Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 3:
count += 1
x = int(input())
print(count)
Ответ: 3
Источник: ФИПИ