У меня есть задача найти цифру root входного числа. Я написал программу следующим образом:
int digital_root(int n) {
int sum=0;
int current=0;
while(n/10!=0)
{
sum = sum + (n%10);
n = n/10;
}
current=sum;
if(sum > 9) digital_root(current);
else
return sum;
}
Однако я не могу получить ожидаемый результат, когда я пытаюсь проверить случаи. Например, я проверил число 16, ожидалось, что он получит 7, но вместо этого я получил 6. Я не знаю, где я ошибаюсь