РУҚА
16

Шешімі: Сумма чисел по основанию 7

ОГЭ · Информатика · Тапсырма 16 · Санау жүйелері
КүрделіФИПИ18EA84Толық шешім≈ 10 минутТалдау 5 қадам
Условие

Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 6. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход в первой строке натуральное число $N$ ($3 \leq N \leq 10\,000$), затем $N$ натуральных чисел, не превышающих 30 000, каждое в отдельной строке.

Программа должна вывести одно число — сумму десятичных чисел, запись которых в 7-ричной системе счисления оканчивается цифрой 6, или «NO», если среди входных данных таких элементов нет.

Пример работы программы:
Входные данные:
5
20
13
9
28
12

Выходные данные:
33

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

5 қадам
1

Последняя цифра записи натурального числа в системе счисления с основанием 7 определяется остатком от деления этого числа на 7. Поэтому подходят числа, для которых выполняется условие $x \bmod 7 = 6$.

$$x \bmod 7 = 6$$
2

Последовательно считываем все $N$ чисел. Для подходящих чисел увеличиваем сумму и количество найденных элементов.

$$S := S + x$$
3

После обработки всей последовательности проверяем, были ли найдены подходящие элементы. Если нет, выводим «NO», иначе выводим сумму.

$$k = 0 \Rightarrow \text{вывести NO}$$
4

Один из возможных нұсқа программы на Python:

Программа работает за время $O(N)$ и использует $O(1)$ дополнительной памяти.

Жауап

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)

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Проверяют последнюю цифру десятичной жазбалар вместо остатка от деления на 7.

Суммируют остатки от деления, а не исходные десятичные числа.

Не обрабатывают случай, когда подходящих чисел нет.

Считывают не все $N$ чисел.

Закрепить приёмВ теме «Санау жүйелері» ещё 230 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ОГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 5 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Системы счисления»: в ней 231 задача, и у каждой есть такой же разбор. Тіркеу қажет емес.