Информатика, вопрос задал melfoy , 1 год назад

Рекурсивно описать функцию maxdig(N), которая находит наибольшую цифру в десятичной записи неотъемлемого целого числа N в С++, с объяснением

Ответы на вопрос

Ответил asilvejstruk
0

Ответ:

Рекурсивно описать функцию maxdig(N), которая находит наибольшую цифру в десятичной записи неотъемлемого целого числа N в С++, с объяснением и примерами.

Функция maxdig(N) представляет собой рекурсивную функцию, которая находит наибольшую цифру в десятичной записи неотъемлемого целого числа N. Функция имеет следующий вид:

int maxdig(int n)

{

if (n < 10)

return n;

int max = maxdig(n/10);

return (n % 10 > max) ? n % 10 : max;

}

Объяснение:

Основная идея заключается в том, что мы делим исходное число на 10 до тех пор, пока оно не достигнет значения меньше 10. Затем мы сравниваем последнюю цифру числа с результатом, полученным из рекурсивного вызова, и возвращаем наибольшее из них.

Например, для числа 753:

maxdig(753) = maxdig(75)

= maxdig(7)

= 7

Для числа 9945:

maxdig(9945) = maxdig(994)

= maxdig(99)

= maxdig(9)

= 9


melfoy: спасибо, можете обьяснить что это значит ? n % 10 : max
asilvejstruk: ;
Это означает, что если последняя цифра числа (n % 10) больше, чем max (результат рекурсивного вызова), то мы возвращаем n % 10, иначе - max.
melfoy: спасибо
Новые вопросы