Жауабы: Сумма чисел, кратных 17
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)
У этого задания официального ключа нет, поэтому ответ получен в разборе және кілтпен салыстырылмаған. Нәтижені жаттамас бұрын, өтіңіз выкладки — там видно, откуда взялось каждое число.
Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17, или сообщает, что таких чисел нет. На вход программы подаются целые числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и не входит в последовательность.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300. Программа должна вывести сумму и количество чисел, кратных 17, или вывести `NO`, если таких чисел в последовательности нет.
В ответе приведите программу и кратко объясните принцип её работы.
Где здесь ошибаются
Учитывают число 0 как элемент последовательности.
Проверяют кратность по условию x / 17 == 0 вместо x % 17 == 0.
Выводят NO при нулевой сумме, хотя подходящие числа могли быть, например, отрицательными и взаимно уничтожить сумму.
Забывают увеличить количество найденных чисел.
Не обрабатывают отрицательные числа, хотя условие допускает их.