Задание 16 ОГЭ по информатике · EF2331

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
12 15 10 71 50 11 082
Показать ответ
Программа должна проверять n % 5 на равенство 1 или 3, суммировать подходящие числа и выводить сумму либо NO.
Подсказки (3)
  1. Как определить последнюю цифру числа в системе счисления с основанием 5, не переводя всё число в эту систему?
  2. Последняя цифра записи числа в системе счисления с основанием 5 равна остатку от деления числа на 5. Нечётные цифры среди возможных остатков — 1 и 3.
  3. Читайте числа в цикле до 0. Если n mod 5=1 или n mod 5=3, добавляйте n к сумме и увеличивайте счётчик подходящих чисел.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 5 определяется остатком от деления этого числа на 5.
d=n mod 5

2. Остаток должен быть нечётным. Возможные остатки при делении на 5 — 0, 1, 2, 3, 4, поэтому подходят остатки 1 и 3.
n mod 5=1  или  n mod 5=3

3. Организуем цикл чтения чисел до появления 0. Подходящие числа прибавляем к сумме, а после завершения ввода проверяем, были ли такие числа.

4. Один из возможных вариантов программы на Python:
s = 0
count = 0
while True:
n = int(input())
if n == 0:
break
if n \% 5 == 1 or n \% 5 == 3:
s += n
count += 1
if count == 0:
print('NO')
else:
print(s)
Частые ошибки
  • Переводят число в систему счисления с основанием 5, хотя достаточно найти остаток от деления на 5.
  • Считают число 0 элементом последовательности.
  • Проверяют только остаток 1 и забывают про остаток 3.
  • Выводят 0 вместо NO, если подходящих чисел нет.

Источник: Открытый банк ФИПИ

Похожие задания

16Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов…Задания открытого банка ФИПИ · E4F7CA16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел…Задания открытого банка ФИПИ · E6127816Напишите программу, которая в последовательности натуральных чисел определяет сумму всех таких чисел, которые…Задания открытого банка ФИПИ · EB771C16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6.…Задания открытого банка ФИПИ · EE667E16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · F0542E16Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество…Задания открытого банка ФИПИ · F1B54B16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · F234E816Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · F33914

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ОГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.