РУҚА
16

Шешімі: Сумма чисел, кратных 17

ОГЭ · Информатика · Тапсырма 16 · Бағдарламалау негіздері
КүрделіФИПИ30E5C9Толық шешім≈ 10 минутТалдау 5 қадам
Условие

Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17, или сообщает, что таких чисел нет. На вход программы подаются целые числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и не входит в последовательность.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300. Программа должна вывести сумму и количество чисел, кратных 17, или вывести `NO`, если таких чисел в последовательности нет.

В ответе приведите программу и кратко объясните принцип её работы.

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

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

5 қадам
1

Введём переменные для суммы найденных чисел и их количества. Изначально обе величины равны нулю.

$$s = 0,\quad k = 0$$
2

Будем последовательно считывать числа. Если введено 0, цикл завершается, поскольку 0 не является членом последовательности.

$$x = 0 \Rightarrow \text{конец цикла}$$
3

Для каждого другого числа проверяем остаток от деления на 17. Если остаток равен нулю, число кратно 17: добавляем его к сумме и увеличиваем счётчик.

$$x \bmod 17 = 0 \Rightarrow s := s + x,\quad k := k + 1$$
4

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

$$k = 0 \Rightarrow \text{NO}$$

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

Жауап

s = 0
k = 0

while True:
x = int(input())
if x == 0:
break
if x % 17 == 0:
s += x
k += 1

if k == 0:
print('NO')
else:
print(s, k)

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

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

Учитывают число 0 как элемент последовательности.

Проверяют кратность по условию x / 17 == 0 вместо x % 17 == 0.

Выводят NO при нулевой сумме, хотя подходящие числа могли быть, например, отрицательными и взаимно уничтожить сумму.

Забывают увеличить количество найденных чисел.

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

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

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

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

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