Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна и оканчивается на цифру 3. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
88 138 273 498 733 0 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа и проверять их на соответствие двум условиям: четырёхзначность в пятеричной системе счисления и окончание на цифру 3 в этой же системе.
Шаг 1. Разбор условий.
1. Чтобы число в системе счисления с основанием оканчивалось на цифру , остаток от деления этого числа на должен быть равен . В нашем случае: остаток от деления числа на должен быть равен .
2. Чтобы число в системе счисления с основанием было четырёхзначным, оно должно находиться в диапазоне от до .
Вычислим границы:
Нижняя граница: .
Верхняя граница: .
Следовательно, число должно удовлетворять условию: .
Шаг 2. Алгоритм решения.
1. Создаём переменную-счётчик и обнуляем её.
2. Организуем цикл чтения чисел до тех пор, пока не встретим .
3. Для каждого введённого числа проверяем: (оно ) И (оно ) И (остаток от деления на равен ).
4. Если все условия верны, увеличиваем на .
Шаг 3. Проверка примера.
- : меньше . (Нет)
- : и . (Да, )
- : и . (Да, )
- : и . (Да, )
- : больше . (Нет)
Итого: .
Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 125 <= x <= 624 and x % 5 == 3:
count += 1
x = int(input())
print(count)
Ответ: 3
Источник: ФИПИ