C++ 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. C++ Program & output to calculate sum of digits of an integer using iteration

Code has been copied
/************************************
alphabetacoder.com
C++ program to calculate the sum of
digits of 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 of an integer using recursion

Code has been copied
/************************************
alphabetacoder.com
C++ program to calculate the sum of
digits of 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