Для решения задачи мы можем использовать программу на Python. Мы будем обрабатывать последовательность целых чисел, считывая их до тех пор, пока не встретится ноль, который сигнализирует о завершении ввода. Затем для каждого числа мы будем вычислять сумму его цифр и проверять, находится ли эта сумма в заданном диапазоне (больше 12 и меньше 18).
Вот шаги, которые мы будем выполнять:
- Считать последовательность чисел в цикле.
- Для каждого числа (если оно не равно 0) вычислить сумму его цифр.
- Проверить, удовлетворяет ли сумма цифр заданному условию (больше 12 и меньше 18).
- Подсчитать количество подходящих чисел.
- Вывести количество подходящих чисел или «NO», если таких чисел нет.
Вот пример кода на Python для решения данной задачи:
def sum_of_digits(n):
"""Функция для вычисления суммы цифр числа n"""
return sum(int(digit) for digit in str(abs(n))) # Используем abs(n), чтобы работать с положительными цифрами
count = 0 # Счетчик подходящих чисел
while True:
number = int(input("Введите целое число (0 для окончания ввода): ")) # Ввод числа
if number == 0:
break # Выход из цикла, если введен 0
digit_sum = sum_of_digits(number) # Вычисляем сумму цифр
if 12 < digit_sum < 18: # Проверяем условие
count += 1 # Увеличиваем счетчик
# Выводим результат
if count > 0:
print(count)
else:
print("NO")
Объяснение кода:
Функция
sum_of_digits(n):- Эта функция принимает число
n, делает его положительным с помощьюabs(n), преобразует его в строку, проходит по каждому символу (цифре) и вычисляет сумму этих цифр, используя встроенную функциюsum().
- Эта функция принимает число
Цикл
while True:- Запускаем бесконечный цикл для считывания чисел.
- Считываем число, используя
input()и преобразуем его в целое с помощьюint(). - Если число равно 0, мы прерываем цикл с помощью
break.
Проверка условий:
- Для каждого введенного числа, если оно не равно 0, вызываем
sum_of_digits(number), чтобы получить сумму его цифр. - Проверяем, находится ли эта сумма в диапазоне от 12 до 18. Если да, увеличиваем счетчик
count.
- Для каждого введенного числа, если оно не равно 0, вызываем
Вывод результата:
- После выхода из цикла проверяем значение счетчика
count. Если он больше 0, выводим его, иначе выводим "NO".
- После выхода из цикла проверяем значение счетчика
Таким образом, программа будет выполнять требуемую логику и находить количество чисел, удовлетворяющих указанному условию.