Задание 16 ОГЭ по информатике · 3BF5E6
ПовышеннаяКЭС 3.2
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 5. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 485 557 893 3029 4125 | 3 |
Показать ответ
n = int(input()); count = 0; for _ in range(n):; x = int(input()); if 8**3 <= x < 8**4 and x % 8 == 5:; count += 1; print(count)
Подсказки (3)
- Какие числа имеют четырёхзначную запись в восьмеричной системе счисления?
- Число является четырёхзначным в восьмеричной системе, если 83≤n<84. Последняя цифра равна 5, если n mod 8=5.
- Для каждого элемента проверьте условие 512≤n<4096 и остаток от деления на 8, равный 5, затем увеличьте счётчик.
Решение
1. Четырёхзначная запись в восьмеричной системе начинается с числа 83=512 и заканчивается перед числом 84=4096.
512≤n<4096
2. Последняя цифра восьмеричной записи определяется остатком от деления числа на 8. Поэтому искомые числа дают остаток 5.
n mod 8=5
3. Для каждого из N чисел проверяем оба условия и увеличиваем счётчик при их выполнении.
count:=count+1
4. Программа:
512≤n<4096
2. Последняя цифра восьмеричной записи определяется остатком от деления числа на 8. Поэтому искомые числа дают остаток 5.
n mod 8=5
3. Для каждого из N чисел проверяем оба условия и увеличиваем счётчик при их выполнении.
count:=count+1
4. Программа:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 8**3 <= x < 8**4 and x % 8 == 5:
count += 1
print(count)Частые ошибки
- Проверяют только последнюю цифру, но не проверяют, что запись является четырёхзначной.
- Используют границу 4096 включительно, хотя число 4096 уже имеет пять цифр в восьмеричной системе.
- Проверяют остаток от деления на 10 вместо остатка от деления на 8.
Источник: Открытый банк ФИПИ
Похожие задания
16Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17…Задания открытого банка ФИПИ · 30E5C916Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 8.…Задания открытого банка ФИПИ · 31559E16Напишите программу, которая в последовательности натуральных чисел определяет минимальное число…Задания открытого банка ФИПИ · 37BA0C16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 386FDC16Напишите программу, которая в последовательности натуральных чисел определяет максимальное число…Задания открытого банка ФИПИ · 3CBFE316Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 3D72AA16Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 5.…Задания открытого банка ФИПИ · 3F4FFE16Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 6 или 11.…Задания открытого банка ФИПИ · 40A3D0
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ОГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.