Algoritmos | Algoritmos de bits | Pregunta 1

¿Cuál es el valor de retorno de la siguiente función para arr[] = {9, 12, 2, 11, 2, 2, 10, 9, 12, 10, 9, 11, 2} y n es el tamaño de esta array.

int fun(int arr[], int n)
{
    int x = arr[0];
    for (int i = 1; i < n; i++)
        x = x ^ arr[i];
    return x;
}

(A) 0
(B) 9
(C) 12
(D) 2

Respuesta: (B)
Explicación: Tenga en cuenta que 9 es el único elemento con ocurrencias impares, todos los demás elementos tienen ocurrencias pares.

Si la array de entrada tiene todos los elementos con ocurrencias pares excepto uno, entonces la función devuelve el único elemento con ocurrencias impares. Tenga en cuenta que XORing un elemento consigo mismo da como resultado 0 y XOR de 0 con un número x es igual a x.

Intente seguir el programa completo.

# include <iostream>
using namespace std;

int fun(int arr[], int n)
{
    int x = arr[0];
    for (int i = 1; i < n; i++)
        x = x ^ arr[i];
    return x;
}

int main()
{
  int arr[] = {9, 12, 2, 11, 10, 9, 12, 10, 9, 11, 2};
  int n = sizeof(arr)/sizeof(arr[0]);
  cout << fun(arr, n) << endl;
  return 0;
}

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 *