Algoritmos | Recursividad | Pregunta 9

Predecir la salida del siguiente programa

#include <stdio.h>
  
int fun(int n)
{
    if (n == 4)
       return n;
    else return 2*fun(n+1);
}
  
  
int main()
{
   printf("%d ", fun(2));
   return 0;
}

(A) 4
(B) 8
(C) 16
(D) Error de tiempo de ejecución

Respuesta: (C)
Explicación:

Fun(2) = 2 * Fun(3) and Fun(3) = 2 * Fun(4) ....(i)
Fun(4) = 4 ......(ii)
From equation (i) and (ii),
Fun(2) = 2 * 2 * Fun(4)
Fun(2) = 2 * 2 * 4
Fun(2) = 16. 

So, C is the correct answer

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 *