Создавать и выполнять программы на универсальном языке программирования · 170 заданий
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 2. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
5 34 162 474 506 578 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям одновременно:
1. Запись числа в восьмеричной системе счисления является трёхзначной.
2. Запись числа в восьмеричной системе счисления оканчивается на цифру 2.
Разберём эти условия подробнее:
Шаг 1. Условие трёхзначности в восьмеричной системе.
Минимальное трёхзначное число в восьмеричной системе — это 1008. Переведём его в десятичную систему:
1⋅82+0⋅81+0⋅80=64.
Максимальное трёхзначное число в восьмеричной системе — это 7778. Переведём его в десятичную систему:
7⋅82+7⋅81+7⋅80=448+56+7=511.
Таким образом, число x является трёхзначным в восьмеричной системе, если оно находится в диапазоне: 64≤x≤511.
Шаг 2. Условие окончания на цифру 2 в восьмеричной системе.
Последняя цифра числа в любой системе счисления с основанием q — это остаток от деления этого числа на q.
Следовательно, чтобы число в восьмеричной системе оканчивалось на 2, остаток от его деления на 8 должен быть равен 2.
Математически: x(mod8)=2.
Шаг 3. Проверка примера.
Рассмотрим числа из примера:
1) 34: 34<64 (не трёхзначное в 8-ой системе).
2) 162: 64≤162≤511 (да) и 162(mod8)=2 (да, так как 162=20⋅8+2). Подходит.
3) 474: 64≤474≤511 (да) и 474(mod8)=2 (да, так как 474=59⋅8+2). Подходит.
4) 506: 64≤506≤511 (да) и 506(mod8)=2 (да, так как 506=63⋅8+2). Подходит.
5) 578: 578>511 (не трёхзначное в 8-ой системе).
Итого: 3 числа.
Шаг 4. Алгоритм программы.
1. Считываем количество чисел N.
2. Заводим счётчик count=0.
3. В цикле от 1 до N считываем очередное число x.
4. Если (x≥64) И (x≤511) И (x(mod8)=2), то увеличиваем count на 1.
5. Выводим count.
Ответ: 3
Источник: ФИПИ