Considere la siguiente función C recursiva que toma dos argumentos
unsigned int rer (unsigned int n, unsigned int r) { if (n > 0) return (n% r + rer(n/r, r)); else return 0; }
¿Cuál es el valor de retorno de la función rer cuando se llama como rer (513, 2)?
(A) 9
(B) 8
(C) 5
(D) 2
Respuesta: (D)
Explicación:
= rer (513, 2) = 513% 2 + 256% 2 + 128% 2 + 64% 2 + 32% 2 + 16% 2 + 8%2 + 4%2 + 2%2 + 1%2
Por lo tanto, la salida será,
= 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 = 2
Entonces, la opción (D) es correcta.
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