Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 6. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
5 38 166 478 510 582 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям в восьмеричной системе счисления:
1. Число является трёхзначным.
2. Число оканчивается на цифру 6.
Разберём эти условия подробнее:
Шаг 1. Условие трёхзначности в восьмеричной системе.
Минимальное трёхзначное число в восьмеричной системе — это 1008. Переведём его в десятичную систему: 1⋅82+0⋅81+0⋅80=64.
Максимальное трёхзначное число в восьмеричной системе — это 7778. Следующее за ним число — 10008, что равно 83=512.
Значит, число x является трёхзначным в восьмеричной системе, если оно находится в диапазоне: 64≤x<512.
Шаг 2. Условие окончания на цифру 6.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в восьмеричной системе оканчивалось на 6, остаток от его деления на 8 должен быть равен 6.
Математически: x(mod8)=6.
Шаг 3. Алгоритм решения.
1. Вводим количество чисел N.
2. Создаём переменную-счётчик (например, count) и обнуляем её.
3. В цикле N раз считываем очередное число x.
4. Проверяем составное условие: (x≥64) И (x≤511) И (x(mod8)=6).
5. Если условие выполняется, увеличиваем count на 1.
6. После цикла выводим значение count.
Шаг 4. Проверка на примере.
Рассмотрим числа из примера:
— 38: 38<64 (не подходит, оно двухзначное: 38=468).
— 166: 64≤166≤511 — верно. 166(mod8)=6 (так как 166=20⋅8+6) — верно. Подходит (166=2468).
— 478: 64≤478≤511 — верно. 478(mod8)=6 (так как 478=59⋅8+6) — верно. Подходит (478=7368).
— 510: 64≤510≤511 — верно. 510(mod8)=6 (так как 510=63⋅8+6) — верно. Подходит (510=7768).
— 582: 582>511 (не подходит, оно четырёхзначное: 582=11068).
Итого: 3 числа.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 64 <= x <= 511 and x % 8 == 6:
count += 1
print(count)
Ответ: 3
Источник: ФИПИ