Hi All,
The bellow solution was a partial solution I used in technical round of major US based MNC technical round.
The below function will calculate the sum of all digits of number recursively until it becomes single digit.
Suppose the input number is "999",
First iteration: it will calculate 9+9+9 = 27.
Second iteration: it will calculate 2+7 = 9
Since 9 is single digit, we will stop the iteration and answer is "9".
Solution
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int num;
cin>>num;
while(num > 9){
int t = num;
int sum = 0;
int n = 10;
while(t > 0){
sum += (t % 10);
t /= n;
}
num = sum;
}
cout<<num<<endl;
return 0;
}