Практические вопросы для рекурсии | Комплект 2

Опубликовано: 21 Января, 2022

Объясните функциональные возможности следующих функций.

Question 1 

Python3

/* Assume that n is greater than or equal to 1 */
int fun1(int n)
{
    if (n == 1)
        return 0;
    else
        return 1 + fun1(n // 2);
}
 
// This code is contributed by shubhamsingh10

C

/* Assume that n is greater than or equal to 1 */
int fun1(int n)
{
    if (n == 1)
        return 0;
    else
        return 1 + fun1(n / 2);
}

Java

/* Assume that n is greater than or equal to 1 */
static int fun1(int n)
{
    if (n == 1)
        return 0;
    else
        return 1 + fun1(n / 2);
}
 
// This code is contributed by shubhamsingh10

Python3

# Assume that n is greater than or equal to 1 */
def fun1(n):
    if(n == 1):
        return 0
    else:
        return 1 + fun1(n/2)
 
# This code is contributed by shubhamsingh10

C#

/* Assume that n is greater than or equal to 1 */
static int fun1(int n)
{
    if (n == 1)
        return 0;
    else
        return 1 + fun1(n / 2);
}
 
// This code is contributed by shubhamsingh10

Javascript

<script>
 
/* Assume that n is greater than or equal to 1 */
function fun1(n)
{
    if (n == 1)
        return 0
    else
        return 1 + fun1(n / 2)
}
 
// This code is contributed by gottumukkalabobby
 
</script>

Ответ: функция вычисляет и возвращает

. Например, если n находится в диапазоне от 8 до 15, тогда fun1 () возвращает 3. Если n находится в диапазоне от 16 до 31, тогда fun1 () возвращает 4.
вопрос 2

Ответ: Функция fun2 () выводит двоичный эквивалент n. Например, если n равно 21, то fun2 () выводит 10101.
Обратите внимание, что указанные выше функции предназначены только для практики рекурсии, они не являются идеальной реализацией предоставляемых ими функций.
Пожалуйста, напишите комментарии, если вы обнаружите, что какой-либо из ответов / кодов неверен.

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .

Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.