Напишите программу на Python, которая ищет среди целых чисел, принадлежащих числовому отрезку [1024; 28921], числа, которые делятся на сумму всех своих цифр. Запишите в ответе сумму всех таких чисел.

Например, в диапазоне [12; 20] есть следующие числа: 12,18,20. Поэтому
для этого диапазона ответом является 12+18+20=50.

Ответы

Ответ дал: tutu007
1

Ответ:

def delitel(n):

   summa=0

   while n:

       summa+=n%10

       n//=10

   return summa

summa=0

for i in range(1024,28922):

   if i%delitel(i)==0:

       summa+=i

print(summa)


Аноним: Лучший)
Аноним: Можно попросить вас еще помочь?
tutu007: да
Аноним: Можете объяснить всю программу на словах? Готовлюсь к ЕГЭ, пока сложновато
Аноним: Что за что отвечает
Аноним: Имею ввиду, что не могу понять алгоритм
tutu007: def delitel это функция, которая выводит сумму всех цифр числа. Она складывает остаток деления на 10 и целочисленно делит число на 10, тем самым перебирая все цифры числа.
А все что вне функции, просто проверяет, делится ли число на сумму его цифр
Аноним: Понял, спасибо!
kornilova0596: как мы остатком от деления и делением на десять перебираем все цифры числа?
tutu007: пример:
число - 154
154 делим на 10 - остаток 4, частное - 15
15 делим на 10 - остаток 5, частное 1
1 делим на 10 - остаток 1, частное 0
цикл прекращен, сумма остатков (сумма цифр) 10
Вас заинтересует