Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

16. Программирование: #294619

Сообщить о проблеме
Задание #294619
Задание было решено верно
Задание было решено неверно

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $5$. В ответе запишите количество искомых элементов.

Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).

Программа должна напечатать только одно число – количество искомых элементов последовательности.

Пример работы программы

Входные данныеВыходные данные
165
277
885
949
4117
0
3

Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:

$100_{16}=256$
$FFF_{16}=4095$.

Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой $5$, то при делении этого числа на $16$ остаток должен быть равен $5$.

Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 5$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.

count = 0
x = int(input())

while x != 0:
    if 256 <= x <= 4095 and x % 16 == 5:
        count += 1
    x = int(input())

print(count)

Для приведённого примера условию соответствуют числа $277$, $885$ и $949$:

$277=115_{16}$
$885=375_{16}$
$949=3B5_{16}$.

Число $165=A5_{16}$ является двузначным, а $4117=1015_{16}$ — четырёхзначным, поэтому они не подходят.

Таким образом, программа выведет: $3$.

Показать
Очки опыта 20
Спросить Зави
0 заданий сегодня

Предложить улучшение