Как рекурсивной функции вычислить сумму номеров цифр?
Дано число, внутри рекурсивной функции нужно вычислить сумму номеров цифр. Наприме 452-> 1+2+3 или 65984->1+2+3+4+5. В коде ниже нашёл количество цифр в числе но никак не могу найти сумму номеров цифр.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Рекурсивную функцию написать не так уже элементарно, если не применять формулу к количеству цифр (что рекурсией как раз посчитать легко) - я так понимаю, что фраза внутри рекурсивной функции требует, чтобы эта самая функция возвращала сразу нужный результат.
Рекурсия здесь требует знания, какая по очереди цифра обрабатывается - это параметр d. На Python (// - целочисленное деление):
def num(n, d = 1):
if n > 9:
return d + num(n // 10, d + 1)
else:
return d
