Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 5. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
5 485 557 893 3029 4125 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям в восьмеричной системе счисления:
1. Число должно быть четырёхзначным в восьмеричной системе.
2. Число должно оканчиваться на цифру в восьмеричной системе.
Разберём эти условия подробнее:
Шаг 1. Проверка на четырёхзначность.
В восьмеричной системе счисления самое маленькое четырёхзначное число — это , а самое большое — .
Переведём их в десятичную систему, чтобы понять границы диапазона:
Значит, число является четырёхзначным в восьмеричной системе, если оно находится в промежутке: .
Шаг 2. Проверка последней цифры.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы.
Чтобы число в восьмеричной системе оканчивалось на , остаток от его деления на должен быть равен .
Условие: .
Шаг 3. Алгоритм решения.
1. Сначала считываем количество чисел .
2. Создаём переменную-счётчик (например, ) и обнуляем её.
3. В цикле раз считываем очередное число.
4. Для каждого числа проверяем: если () И () И (), то увеличиваем счётчик на .
5. После завершения цикла выводим значение счётчика.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 5:
count += 1
print(count)
В примере даны числа: .
1. : меньше (не подходит).
2. : , но ? Проверим: . Подходит!
3. : , ? Проверим: . Подходит!
4. : , ? Проверим: . Подходит!
5. : больше (не подходит).
Итого: числа.
Ответ: 3
Источник: ФИПИ