Python programs to calculate the sum of the digits of an integer have been shown here. For example if a number is $12345$ then the sum of the digits is $1 + 2 + 3 + 4 + 5$ i.e. $15$. The following section covers the iterative approach to find the sum of digits. The algorithm, time complexity and pseudocode of the program have been shown below.

## 1. Algorithm to calculate sum of digits of an integer

1. Take a number x as input.

2. Initialize a variable to 0 say sum = 0.

3. Perform r = x % 10 and add r to sum i.e sum = sum + r

4. Perform x = x / 10

5. If x = 0 stop the process and display sum as output else go to step 3.

## 2. Pseudocode to calculate sum of digits of an integer

Input : A number $n$

Output : The sum of digits of $n$

1. Procedure sumOfDigits($n$):

2. $sum \leftarrow 0$

3. Repeat until $n \neq 0$

4. $sum \leftarrow sum + (n \mod 10)$

5. $n \leftarrow n / 10$

6. Return $sum$

7. End Procedure

## 3. Time complexity to calculate sum of digits of an integer

Time Complexity: O(log(n))

Where n is the input number.

## 4.1. Python Program & output to calculate sum of digits of an integer using iteration

Code has been copied
# ****************************************
#        alphabetacoder.com
# Python program to calculate the sum of
# digits of an integer using iteration
# ****************************************

# take input of the number
num = int(input("Enter the integer = "))

# initialize
s = 0

# find sum of the digits
while num != 0:
# extract the unit digit
r = num % 10
# do sum
s = s + r
# divide the number by 10
num = num // 10

# display result
print("Sum of digits = ", s)


Output

Enter the integer = 12548

Sum of digits = 20

## 4.2. Python Program & output to calculate sum of digits of an integer using recursion

Code has been copied
# ****************************************
#           alphabetacoder.com
# Python program to calculate the sum of
# digits of an integer using recursion
# ****************************************

# recursive function to calculate sum of digits
def digit_sum(num):
if num == 0:
return 0
else:
return (num % 10) + digit_sum(num // 10)

def main():
# take input of the number
num = int(input("Enter the integer = "))

# calculate the sum by calling function
# and display the result
print("Sum of digits =", digit_sum(num))

# driver code
main()


Output

Enter the integer = 554488

Sum of digits = 34