Предмет: Информатика,
автор: Аноним
Напишите программу на Python, которая ищет среди целых чисел, принадлежащих числовому отрезку [1024; 28921], числа, которые делятся на сумму всех своих цифр. Запишите в ответе сумму всех таких чисел.
Например, в диапазоне [12; 20] есть следующие числа: 12,18,20. Поэтому
для этого диапазона ответом является 12+18+20=50.
Ответы
Автор ответа:
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)
Аноним:
Лучший)
Можно попросить вас еще помочь?
да
Можете объяснить всю программу на словах? Готовлюсь к ЕГЭ, пока сложновато
Что за что отвечает
Имею ввиду, что не могу понять алгоритм
def delitel это функция, которая выводит сумму всех цифр числа. Она складывает остаток деления на 10 и целочисленно делит число на 10, тем самым перебирая все цифры числа.
А все что вне функции, просто проверяет, делится ли число на сумму его цифр
А все что вне функции, просто проверяет, делится ли число на сумму его цифр
Понял, спасибо!
как мы остатком от деления и делением на десять перебираем все цифры числа?
пример:
число - 154
154 делим на 10 - остаток 4, частное - 15
15 делим на 10 - остаток 5, частное 1
1 делим на 10 - остаток 1, частное 0
цикл прекращен, сумма остатков (сумма цифр) 10
число - 154
154 делим на 10 - остаток 4, частное - 15
15 делим на 10 - остаток 5, частное 1
1 делим на 10 - остаток 1, частное 0
цикл прекращен, сумма остатков (сумма цифр) 10
Похожие вопросы
Предмет: Английский язык,
автор: Filipin19
Предмет: Українська література,
автор: Darybkoanilevarxo
Предмет: Русский язык,
автор: tatyanasleptso
Предмет: Математика,
автор: kristiplay