Создавать и выполнять программы на универсальном языке программирования · 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 482 554 890 3026 4122 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям в восьмеричной системе счисления:
1. Число является четырёхзначным.
2. Число оканчивается на цифру 2.
Разберёмся, как проверить эти условия, не переводя число в восьмеричную систему целиком:
Шаг 1. Проверка на "четырёхзначность" в восьмеричной системе.
Минимальное четырёхзначное число в восьмеричной системе — это 10008. Переведём его в десятичную систему:
1⋅83+0⋅82+0⋅81+0⋅80=51210.
Максимальное четырёхзначное число в восьмеричной системе — это 77778. Следующее за ним число — 100008, которое равно 84=409610.
Следовательно, число X является четырёхзначным в восьмеричной системе, если оно находится в диапазоне: 512≤X<4096.
Шаг 2. Проверка последней цифры.
Последняя цифра числа в любой системе счисления с основанием q — это остаток от деления этого числа на q.
Чтобы число в восьмеричной системе оканчивалось на 2, остаток от его деления на 8 должен быть равен 2.
Условие: X(mod8)=2.
Шаг 3. Алгоритм решения.
1. Считываем количество чисел N.
2. Заводим счётчик (переменную count), изначально равный 0.
3. В цикле от 1 до N считываем очередное число X.
4. Если (X≥512) И (X<4096) И (X(mod8)=2), то увеличиваем счётчик на 1.
5. После завершения цикла выводим значение счётчика.
Разбор примера:
1. 482: 482<512 (не подходит, оно трёхзначное в 8-ой системе: 7428).
2. 554: 512≤554<4096, но 554(mod8)=2. Подходит (10528).
3. 890: 512≤890<4096, 890(mod8)=2. Подходит (15728).
4. 3026: 512≤3026<4096, 3026(mod8)=2. Подходит (57228).
5. 4122: 4122>4096 (не подходит, оно пятизначное в 8-ой системе).
Итого: 3 числа.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 2:
count += 1
print(count)
Ответ: 3
Источник: ФИПИ