PUERTA | Puerta TI 2008 | Pregunta 80

Considere el fragmento de código escrito en C a continuación:

void f (int n)
{
    if (n <= 1)  {
        printf ("%d", n);
    }
    else {
        f (n/2);
        printf ("%d", n%2);
    }
}

¿Cuál de las siguientes implementaciones producirá el mismo resultado para f(173) que el código anterior?
P1

void f (int n)
{
    if (n/2)  {
        f(n/2);
    }
    printf ("%d", n%2);
}

P2

void f (int n)
{
    if (n <=1)  {
        printf ("%d", n);
    }
    else {
        printf ("%d", n%2);
        f (n/2);
    }
}

(A) Tanto P1 como P2
(B) Solo P2
(C) Solo P1
(D) Ni P1 ni P2

Respuesta: (C)
Explicación:  

Esta solución es aportada por .

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *