Я пытаюсь сделать рекурсивную функцию, которая должна возвращать сумму цифр. Функция должна иметь только один аргумент. Пока у меня это есть;сумма цифр через рекурсию
public int sumDigits(int n) {
if(n%10 == n) // last digit remains
return n;
else{
int rightdigit;
rightdigit = n%10; // taking out the right most digit
return rightdigit + (n/10); // adding it to everything on left
}
}
Функция работает для некоторых значений, в частности двухзначных чисел. Но он дает действительно нечетные значения для некоторых чисел, таких как 730, которые составляют 73, когда это должно быть 10.
Я работал над этим на бумаге, но не могу понять, где я иду не так. Любая помощь приветствуется.
это не рекурсия, он не называет себя – Marged