Задание 16 ОГЭ по информатике · 2DE92F
ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех однозначных чисел, кратных 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести одно число: сумму всех однозначных чисел, кратных 3.
Пример работы программы:
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести одно число: сумму всех однозначных чисел, кратных 3.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 6 6 17 18 0 | 12 |
Показать ответ
s = 0; while True:; x = int(input()); if x == 0:; break; if x < 10 and x % 3 == 0:; s += x; print(s)
Подсказки (3)
- Какой цикл удобно использовать, если количество вводимых чисел заранее неизвестно?
- Считывайте числа до тех пор, пока очередное число не станет равно 0. Добавляйте число к сумме, если оно однозначное и делится на 3.
- Можно проверить условие x<10 и x mod 3=0, а затем выполнить s=s+x. После завершения цикла выведите s.
Решение
1. Введём переменную для суммы и изначально присвоим ей значение 0.
s=0
2. Будем последовательно считывать числа. Число 0 является признаком окончания ввода, поэтому его не обрабатываем.
while x≠0
3. Число является однозначным, если оно меньше 10. Оно кратно 3, если остаток от деления на 3 равен 0.
x<10∧x mod 3=0
4. Если оба условия выполнены, прибавим число к сумме. После окончания ввода выведем полученную сумму.
s=s+x
5. Один из возможных вариантов программы на Python:
s=0
2. Будем последовательно считывать числа. Число 0 является признаком окончания ввода, поэтому его не обрабатываем.
while x≠0
3. Число является однозначным, если оно меньше 10. Оно кратно 3, если остаток от деления на 3 равен 0.
x<10∧x mod 3=0
4. Если оба условия выполнены, прибавим число к сумме. После окончания ввода выведем полученную сумму.
s=s+x
5. Один из возможных вариантов программы на Python:
s = 0
while True:
x = int(input())
if x == 0:
break
if x < 10 and x % 3 == 0:
s += x
print(s)Частые ошибки
- Включают число 0 в обрабатываемую последовательность.
- Проверяют только делимость на 3, но не проверяют, что число однозначное.
- Используют условие x <= 10 вместо x < 10.
- Не выводят итоговую сумму после завершения цикла.
Источник: Открытый банк ФИПИ
Похожие задания
16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 24DC9F16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и…Задания открытого банка ФИПИ · 2AC62616Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 2ADBE916Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и…Задания открытого банка ФИПИ · 2C42CA16Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных…Задания открытого банка ФИПИ · 2E259116Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 9.…Задания открытого банка ФИПИ · 2ECB2016Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17…Задания открытого банка ФИПИ · 30E5C916Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 8.…Задания открытого банка ФИПИ · 31559E
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ОГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.