Considere el siguiente programa escrito en pseudocódigo. Suponga que x e y son números enteros.
Count (x, y) { if (y !=1 ) { if (x !=1) { print("*"); Count (x/2, y); } else { y=y-1; Count (1024, y); } } }
El número de veces que la print
sentencia es ejecutada por la llamada Count(1024, 1024)
es _______.
Nota: esta fue una pregunta de tipo numérico.
(A) 10230
(B) 10
(C) 1023
(D) 23010
Respuesta: (A)
Explicación: En primer lugar, se llamará Count(1024, 1024) y el valor de x se deducirá por x/2. ‘x’ se imprimirá 10 veces. Al contar = 10, el valor de x se convertirá en 1.
Dado que x = 1, el bucle else interno comenzará a ejecutarse. En cada llamada, el valor de y se reducirá en 1 y se ejecutará hasta que el valor de y se convierta en 1 (que es en la llamada 1023 ) .
Dado que count() se llama recursivamente para cada y = 1023 y count() se llama 10 veces para cada y. Por lo tanto, 1023 x 10 = 10230
La respuesta es 10230.
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