16. Программирование: #294639
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием $5$ четырёхзначна и оканчивается на цифру $3$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 88 138 273 498 733 0 | 3 |
Четырёхзначное число в системе счисления с основанием $5$ находится в диапазоне от $1000_5$ до $4444_5$. В десятичной системе это числа от $125$ до $624$:
$1000_5=125$
$4444_5=624$.
Если запись числа в системе счисления с основанием $5$ оканчивается цифрой $3$, то при делении этого числа на $5$ остаток должен быть равен $3$.
Значит, для каждого введённого числа достаточно проверить два условия: $125 \leq x \leq 624$ и $x \%\ 5 == 3$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 125 <= x <= 624 and x % 5 == 3:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $138$, $273$ и $498$:
$138=1023_5$
$273=2043_5$
$498=3443_5$.
Число $88=323_5$ является трёхзначным, а $733=10413_5$ — пятизначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.