MCN Professionals | Interview Question of the day
MCN Professionals is starting Industrial Training for MCA-2012 Batch. Have a look at our Industrial Training Program and Course Details.
-----------------------------------------------------------------------------------------------------------------------------------------
Today's Question:
Write a function which should accept an integer and should return the sum of digits in that integer. This function should compute the sum of digits recursively. For example:
Input Output
-------- -----------
56 11 (5+6)
1234 10 (1+2+3+4)
Solution:
The non-recursive (iterative) function to compute the sum of digits is quite simple. We have to use / (division) and % (modulo) operator
int sumDigits(int n)
{
int sum = 0;
while(n > 0)
{
sum += n%10;
n = n /10;
}
return sum;
}
The recursive function, will compute extract one digit, add it to the sum and then leave the responsibility of other digits to the following recursive calls:
int sumDigits(int n)
{
if(n > 0)
{
n = n%10 + sumDigits(n/10);
}
return n;
}
Note that recursion comes with its side effects and takes more time and space as compared to the iterative version. To learn more about it, click here...
---------------------------------------------------------------------------
Interview Questions Archive:
To see all the questions in the category Click Here...