PUERTA | PUERTA-CS-2007 | Pregunta 85 – Part 4

Considere el siguiente segmento de código C:

  int j, n;
  j = 1;
  while (j <= n)
        j = j*2; 

El número de comparaciones realizadas en la ejecución del ciclo para cualquier n > 0 es:

Base de Log es 2 en todas las opciones.
(A) CEIL(logn) + 2
(B) n
(C) CEIL(logn)
(D) FLOOR(logn) + 2

Respuesta: (D)
Explicación:

We can see it by taking few examples like n = 1, n = 3, etc.

For example, for n=5 we have the following (4) comparisons:
------------------------
1 <= 5 (T)
2 <= 5 (T)
4 <= 5 (T)
8 <= 5 (F)

------------------------
FLOOR(log_2 n)+2 = FLOOR(log_2 5) + 2 = FLOOR(2.3) + 2 = 2 + 2 = 4

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 *