C# programs to calculate the sum of the digits of an integer have been shown here. For example if a number is $1234$ then the sum of the digits is $1 + 2 + 3 + 4$ i.e. $10$. The following section covers the iterative and recursive approaches 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 **************************************/ using System; namespace SumOfDigits { class Program { static void Main(string[] args) { // declare variables int num, sum = 0, r; // take input of the number Console.Write("Enter the integer = "); num = Convert.ToInt32(Console.ReadLine()); //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 Console.WriteLine("Sum of digits = " + sum); // wait for user to press any key Console.ReadKey(); } } }
Output
Enter the integer = 5566
Sum of digits = 22
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 **************************************/ using System; namespace SumOfDigits { class Program { // recursive function to calculate sum of digits static int digit_sum(int num) { if (num == 0) return 0; else return (num % 10) + digit_sum(num / 10); } static void Main(string[] args) { // declare variables int num; // take input of the number Console.Write("Enter the integer = "); num = Convert.ToInt32(Console.ReadLine()); // calculate the sum by calling function // display result Console.WriteLine("Sum of digits = " + digit_sum(num)); // wait for user to press any key Console.ReadKey(); } } }
Output
Enter the integer = 277272
Sum of digits = 27