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