Я пытаюсь написать функцию в Java, которая возвращает наибольшую цифру в числе, используя рекурсию. Мне удалось сделать это, используя два параметра - число и большее число. Первоначально больше параметра цифры принимает значение в 0.Как найти наибольшую цифру в числе с помощью рекурсии?
static int getGreatestDigit(int num , int greater){
if(num != 0){
if(num %10 > greater){
greater = num%10;
num = num/10;
return getGreatestDigit(num , greater);
}else{
num = num/10;
return getGreatestDigit(num , greater);
}
}
return greater;
}
Я хочу написать такое же рекурсивную функцию, но только с одним параметром, который является номером. Как
int getGreatestDigit(int num){
//code
}
Я застрял в логике. Как это сделать?
Если вы каким-то образом не сохранили текущий результат в '' num'', вы не сможете этого сделать. –
Да, вы можете! Вам нужно проверить большую цифру между текущей цифрой и остальными цифрами, которые вы проверили до сих пор, когда возвращаетесь из тривиального случая. –