C# Program to Calculate the Sum of Digits of an Integer

sum of digits

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.






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. 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

Code has been copied
/************************************
        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

Code has been copied
/************************************
        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