Информатика, вопрос задал rsalnikov91 , 6 лет назад

Дано натуральное число. Напишите программу,которая находит сумму его цифр.

С циклом for!!!
PYTHON!!!

Ответы на вопрос

Ответил silver10k
0

Ответ:

Например, сумма цифр числа 253 равна 10-ти, так как 2 + 5 + 3 = 10. Произведение цифр числа 253 равно 30-ти, так как 2 * 5 * 3 = 30.

Обычно предполагается, что данная задача должна быть решена арифметическим способом. То есть с заданным число должны производиться определенные арифметические действия, позволяющие извлечь из него все цифры, затем сложить их и перемножить.

И здесь на помощь приходят операции деления нацело и нахождения остатка. Если число разделить нацело на 10, произойдет "потеря" последней цифры числа. Например, 253 ÷ 10 = 25 (остаток 3). С другой стороны, эта потерянная цифра есть остаток от деления. Получив эту цифру, мы можем добавить ее к сумме цифр и умножить на нее произведение цифр числа.

Пусть n – само число, suma – сумма его цифр, а mult – произведение. Тогда алгоритм нахождения суммы и произведения цифр можно словесно описать так:

Переменной suma присвоить ноль.

Переменной mult присвоить единицу. Присваивать 0 нельзя, так как при умножении на ноль результат будет нулевым.

Пока значение переменной n больше нуля повторять следующие действия:

Найти остаток от деления значения n на 10, то есть извлечь последнюю цифру числа.

Добавить извлеченную цифру к сумме и увеличить на эту цифру произведение.

Избавиться от последнего разряда числа n путем деления нацело на 10.

В языке Python операция нахождения остатка от деления обозначается знаком процента - %. Деление нацело - двумя слэшами - //.

Код программы на языке Python

n = int(input())

suma = 0

mult = 1

while n > 0:

   digit = n % 10

   suma = suma + digit

   mult = mult * digit

   n = n // 10

print("Сумма:", suma)

print("Произведение:", mult)

Пример выполнения:

253

Сумма: 10

Произведение: 30

Объяснение:

Новые вопросы