C++ programs to calculate the sum of the digits in 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.

#### Page Contents:

1. Algorithm

2. Pseudocode

3. Time Complexity

4. Program & Output

## 1. Algorithm to calculate sum of digits in 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 in 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 in an integer

Time Complexity: O(log(n))

Where n is the input number.

## 4.1. C++ Program & output to calculate sum of digits in an integer using iteration

Code has been copied
/************************************
alphabetacoder.com
C++ program to calculate the sum of
digits in an integer using iteration
**************************************/

#include <iostream>

using namespace std;

int main() {
// declare variables
int num, sum = 0, r;

// take input of the number
cout << "Enter the integer = ";
cin >> num;

//find sum of the digits
while (num != 0) {
// extract the unit digit
r = num % 10;
// do sum
sum = sum + r;
//divide the number by 10
num = num / 10;
}

// display result
cout << "Sum of digits = " << sum << endl;

return 0;
}


Output

#### Case 1:

Enter the integer = 2432

Sum of digits = 11

#### Case 2:

Enter the integer = 2022

Sum of digits = 6

## 4.2. C++ Program & output to calculate sum of digits in an integer using recursion

Code has been copied
/************************************
alphabetacoder.com
C++ program to calculate the sum of
digits in an integer using recursion
**************************************/

#include <iostream>

using namespace std;

// recursive function to calculate sum of digits
int digit_sum(int num) {
if (num == 0)
return 0;
else
return (num % 10) + digit_sum(num / 10);
}

int main() {
// declare variables
int num;

// take input of the number
cout << "Enter the integer = ";
cin >> num;

// calculate the sum by calling function
// display result
cout << "Sum of digits = " << digit_sum(num) << endl;

return 0;
}


Output

#### Case 1:

Enter the integer = 98765

Sum of digits = 35

#### Case 2:

Enter the integer = 9999

Sum of digits = 36