How to sum the digit of a factorial of a number in Python

2 Answers

0 votes
def sum_digits(num):
    sum = 0
    
    while num != 0:
        sum += num % 10
        num //= 10
        
    return sum

def factorial(n):
    if n == 1 or n == 0:
        return 1
    return n * factorial(n - 1)


number = 9

result = factorial(number)

print("factorial =", result)
print("sum digits =", sum_digits(result))




'''
run:

factorial = 362880
sum digits = 27

'''

 



answered Feb 11, 2025 by avibootz
edited Feb 11, 2025 by avibootz
0 votes
def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n - 1)

def sum_of_digits(number):
    return sum(int(digit) for digit in str(number))

def sum_of_factorial_digits(n):
    fact = factorial(n)
    
    return sum_of_digits(fact)


number = 9

print(f"The sum of the digits of {number}! is: {sum_of_factorial_digits(number)}")



'''
run:

The sum of the digits of 9! is: 27

'''

 



answered Feb 11, 2025 by avibootz

Related questions

1 answer 92 views
1 answer 97 views
1 answer 102 views
1 answer 88 views
1 answer 95 views
1 answer 93 views
1 answer 78 views
...