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