PUERTA | PUERTA CS 2011 | Pregunta 48

Considere la siguiente función C recursiva que toma dos argumentos

unsigned int foo(unsigned int n, unsigned int r) {
  if (n  > 0) return (n%r +  foo (n/r, r ));
  else return 0;
}

¿Cuál es el valor de retorno de la función foo cuando se llama como foo(345, 10) ?
(A) 345
(B) 12
(C) 5
(D) 3

Respuesta: (B)
Explicación: La llamada foo(345, 10) devuelve la suma de los dígitos decimales (porque r es 10) en el número n. La suma de los dígitos de 345 es 3 + 4 + 5 = 12.

pranjul_43

Esta solución es aportada por Pranjul Ahuja
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 *