Algoritmos | Varios | Pregunta 15

¿Cuál es el valor de retorno de la siguiente función para 484? ¿A qué se debe en general?

bool fun(int n)
{
    int sum = 0;
    for (int odd = 1; n > sum; odd = odd+2)
       sum = sum + odd;
    return (n == sum);
}

(A) Falso, comprueba si un número dado es potencia de 3
(B) Falso, comprueba si un número dado es par o no
(C) Falso, comprueba si un número dado es impar o no
(D) Verdadero, comprueba si un número dado es un cuadrado perfecto.

Respuesta: (D)
Explicación: La función dada suma todos los números impares 1, 3, 5, 7, 9, 11…. hasta que la suma sea menor que n. Si la suma se vuelve igual a n, entonces devuelve verdadero. Esta es básicamente una prueba para números cuadrados perfectos.

Todos los números cuadrados perfectos se pueden escribir como suma de números impares.

4 = 1 + 3
9 = 1 + 3 + 5
16 = 1 + 3 + 5 + 7
36 = 1 + 3 + 5 + 7 + 9
49 = 1 + 3 + 5 + 7 + 9 + 11
Prueba 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 *