¿Cuál es el valor devuelto por la función f dada a continuación cuando n = 100?
int f (int n)
{ si (n = = 0) entonces devuelve n;
si no
devuelve n + f(n-2);
}
(A) 2550
(B) 2556
(C) 5220
(D) 5520
Respuesta: (A)
Explicación: Tenemos función:
int f (int n) { if (n = = 0) then return n; else return n + f(n-2); }
tenemos que encontrar la salida para n = 100,
es decir
, <>int f (100)
{ if (n = = 0) luego devuelve n; //fallo//
else
return 100 + f (98)
{ if (n = = 0) then return n; //fallo//
else
return 98 + f (96)
{ if (n = = 0) then return n; //fallo// si no regresa 96 + f (94)……………………
..f
(0);// Será una serie AP de 100 , 98, 96,………0// ;
};
};
}
Suma de series cuando conocemos primer y último término y no de términos:
S n = n / 2 * (primer término + último término)
es decir, 51 / 2 * (100 + 0).
= 51 * 50
= 2550.
Entonces, la opción (A) 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