Иногда требуется манипулировать с цифрами чисел.
Одно из самых простых действий, которое можно совершить — найти сумму цифр числа. Напишите программу, чтобы выполнить это действие.
Формат ввода
Вводится одно натуральное число.
Формат вывода:
Требуется вывести одно натуральное число — сумму цифр исходного.
Пример
Ввод
12345
Вывод
15
Ввод
100500
Вывод
6
Решение
В этой задаче нам очень пригодится второй вариант разложения числа на цифры из задачи J. Детский сад — штаны на лямках. Если раскладывать число по этому алгоритму в цикле, то нам остается просто накопить значение суммы поучившихся цифр. Условием прекращения цикла является нулевое значение раскладываемого числа на одной из итераций.
Посмотреть код
Решение
Python
num = int(input())
summa = 0
while num > 0:
summa += num % 10 # s = s + num % 10
num //= 10 # num = num // 10
print(summa)
a = input(“”)
b = 0
for i in a:
b += int(i)
print(b)
можно еще так сделать
Можно, но не нужно. Строки мы еще не прошли и работать с числом как со строкой нас еще не научили.
можно, к слову, и так, если уж на то пошло и нас не интересует уровень знаний к моменту чтения материала:
Можете обьяснить почему так я вообще не врубаюсь
Операция % дает остаток от деления.
Таким образом число 726 сначала дает нам 6, потом после операции // оно превращается в 72 и на следующей итерации цикла дает операция % дает 2. В конечном итоге мы с ее помощью получаем последнюю цифру числа – 7
В тексте выше есть ссылка на задачу где рассказано почему именно это делается именно так.
Можете объяснить 7ую строку?
Операция // это деление нацело. Например 3 // 2 даст в итоге 1.
a //= b это кратная запись операции a = a // b
в нашем цикле это приводит к тому, что изначальное число 726 сначала превращается в 72 (726 // 10), потом в 7 (72 // 10), а потом в ноль – (7 // 10)