Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 0. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
5 480 552 888 3024 4120 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям одновременно:
1. Запись числа в восьмеричной системе счисления является четырёхзначной.
2. Запись числа в восьмеричной системе счисления оканчивается на цифру .
Разберём эти условия с точки зрения математики:
Шаг 1. Условие четырёхзначности в восьмеричной системе.
Минимальное четырёхзначное число в восьмеричной системе — это . Переведём его в десятичную систему:
.
Максимальное четырёхзначное число в восьмеричной системе — это . Следующее за ним число — , которое равно .
Следовательно, число является четырёхзначным в восьмеричной системе, если оно находится в диапазоне:
.
Шаг 2. Условие окончания на цифру 0.
Последняя цифра числа в любой системе счисления с основанием — это остаток от деления этого числа на .
Чтобы число в восьмеричной системе оканчивалось на , остаток от его деления на должен быть равен . То есть число должно нацело делиться на .
Математически: .
Шаг 3. Алгоритм решения.
1. Сначала считываем количество чисел .
2. Вводим переменную-счётчик (например, ) и обнуляем её.
3. В цикле от до считываем очередное число .
4. Проверяем составное условие: И И .
5. Если условие выполняется, увеличиваем на .
6. После завершения цикла выводим значение .
Шаг 4. Проверка на примере.
Даны числа: 480, 552, 888, 3024, 4120.
1. : меньше . Не подходит.
2. : . Проверяем деление на 8: (остаток 0). Подходит (1).
3. : . Проверяем деление на 8: (остаток 0). Подходит (2).
4. : . Проверяем деление на 8: (остаток 0). Подходит (3).
5. : больше . Не подходит.
Итого: 3 числа.
Ответ: 3
Источник: ФИПИ