¿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; }
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