Задание 16 ОГЭ по информатике · 18EA84
ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 6. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 6, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 6, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 20 13 9 28 12 | 33 |
Показать ответ
n = int(input()); s = 0; count = 0; for _ in range(n):; x = int(input()); if x % 7 == 6:; s += x; count += 1; if count == 0:; print("NO"); else:; print(s)
Подсказки (3)
- Как определить последнюю цифру числа в системе счисления с основанием 7, не переводя всё число в эту систему?
- Последняя цифра записи числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7.
- Для каждого числа проверьте условие x mod 7=6, прибавьте подходящие числа к сумме и отдельно подсчитайте их количество. Если количество равно нулю, выведите «NO».
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 7 определяется остатком от деления этого числа на 7. Поэтому подходят числа, для которых выполняется условие x mod 7=6. x mod 7=6 2. Последовательно считываем все N чисел. Для подходящих чисел увеличиваем сумму и количество найденных элементов. S:=S+x 3. После обработки всей последовательности проверяем, были ли найдены подходящие элементы. Если нет, выводим «NO», иначе выводим сумму. k=0⇒вывести NO 4. Один из возможных вариантов программы на Python: 5. Программа работает за время O(N) и использует O(1) дополнительной памяти.
Частые ошибки
- Проверяют последнюю цифру десятичной записи вместо остатка от деления на 7.
- Суммируют остатки от деления, а не исходные десятичные числа.
- Не обрабатывают случай, когда подходящих чисел нет.
- Считывают не все N чисел.
Источник: Открытый банк ФИПИ
Похожие задания
16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 5.…Задания открытого банка ФИПИ · 17BAFA16Напишите программу, которая в последовательности натуральных чисел вычисляет сумму трёхзначных чисел, кратных…Задания открытого банка ФИПИ · 17F60116Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1899DF16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и…Задания открытого банка ФИПИ · 18BEB816Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее…Задания открытого банка ФИПИ · 1B108F16Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 7 и…Задания открытого банка ФИПИ · 1C81DB16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1CF4DC16Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество…Задания открытого банка ФИПИ · 1DF767
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ОГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.