C Program for Sum the digits of a given number
Given a number, find sum of its digits.
Example :
Input : n = 687 Output : 21 Input : n = 12 Output : 3
1. Iterative:
C
// C program to compute sum of digits in // number. # include<stdio.h> /* Function to get sum of digits */ int getSum( int n) { int sum = 0; while (n != 0) { sum = sum + n % 10; n = n/10; } return sum; } int main() { int n = 687; printf ( " %d " , getSum(n)); return 0; } |
Time Complexity: O(log10n)
Auxiliary Space: O(1)
How to compute in single line?
c
# include<stdio.h> /* Function to get sum of digits */ int getSum( int n) { int sum; /* Single line that calculates sum */ for (sum=0; n > 0; sum+=n%10,n/=10); return sum; } int main() { int n = 687; printf ( " %d " , getSum(n)); return 0; } |
2. Recursive
c
int sumDigits( int no) { return no == 0 ? 0 : no%10 + sumDigits(no/10) ; } int main( void ) { printf ( "%d" , sumDigits(687)); return 0; } |
Please refer complete article on Program for Sum the digits of a given number for more details!