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.
Page Contents:
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.
3.
4.
5.
6.
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. Program & output to calculate sum of digits of an integer
4.1. C++ Program & output to calculate sum of digits of an integer using iteration
/************************************ 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
/************************************ 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