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