Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 4. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
36 164 476 508 580 0 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Разберём задачу по шагам, чтобы понять, как проверить каждое введённое число на соответствие условиям.
1. Условие трёхзначности в восьмеричной системе.
Число является трёхзначным в восьмеричной системе счисления, если оно находится в диапазоне от до .
Переведём эти границы в десятичную систему:
Нижняя граница: .
Верхняя граница: .
Следовательно, число должно удовлетворять условию: .
2. Условие окончания на цифру 4 в восьмеричной системе.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в восьмеричной системе оканчивалось на 4, остаток от его деления на 8 должен быть равен 4. Запишем это условие: .
3. Алгоритм решения:
— Создаём переменную-счётчик (например, count) и приравниваем её к 0.
— Организуем цикл чтения чисел до тех пор, пока не встретим 0.
— Для каждого введённого числа проверяем два условия одновременно: оно должно быть в диапазоне от 64 до 511 включительно И остаток от его деления на 8 должен быть равен 4.
— Если оба условия выполняются, увеличиваем счётчик на 1.
4. Проверим пример из условия:
— 36: (не трёхзначное в -ой системе). Пропускаем.
— 164: (да) и (так как ). Подходит. (Счётчик = 1).
— 476: (да) и (так как ). Подходит. (Счётчик = 2).
— 508: (да) и (так как ). Подходит. (Счётчик = 3).
— 580: (не трёхзначное). Пропускаем.
— 0: Конец ввода.
Итоговое значение счётчика: 3.
Ответ: 3
Источник: ФИПИ