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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 3. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 3, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
33 63 17 24 53 041
Показать ответ
Программа должна проверять условие x % 7 == 3, суммировать подходящие числа и выводить NO при отсутствии таких чисел.
Подсказки (3)
  1. Как определить последнюю цифру числа в системе счисления с основанием 7, не переводя всё число в строку?
  2. Последняя цифра записи числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7.
  3. Считывайте числа до появления 0, проверяйте условие x mod 7=3, накапливайте сумму и отдельно храните признак найденного элемента. Если подходящих чисел нет, выведите NO.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 7 определяется остатком от деления этого числа на 7. Поэтому нужные числа удовлетворяют условию:
x mod 7=3

2. Организуем цикл ввода. Число 0 является признаком окончания ввода и не обрабатывается.

3. Для каждого подходящего числа прибавляем его к сумме и устанавливаем признак наличия хотя бы одного такого элемента.

4. После завершения ввода выводим сумму, если подходящие числа были найдены; иначе выводим строку NO.

5. Пример реализации на Python:
s = 0
found = False
while True:
x = int(input())
if x == 0:
break
if x % 7 == 3:
s += x
found = True

if found:
print(s)
else:
print('NO')
Частые ошибки
  • Проверяют остаток от деления на 10 вместо остатка от деления на 7.
  • Включают завершающий ноль в сумму.
  • Выводят 0 вместо NO, если подходящих чисел нет.
  • Забывают завершить цикл при вводе числа 0.

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

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

16Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 4.…Задания открытого банка ФИПИ · 04658716Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · 06D42C16Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, которые кратны 4 или…Задания открытого банка ФИПИ · 08A5D816Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент…Задания открытого банка ФИПИ · 0A474B16Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 4 и…Задания открытого банка ФИПИ · 0B958016Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 0F8FD516Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее…Задания открытого банка ФИПИ · 0FCA4916Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 10198C

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

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

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

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

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

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

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