XOR de todas las substrings de una string binaria dada

Dada una string binaria str de tamaño N , la tarea es calcular el XOR bit a bit de todas las substrings de str. Ejemplos: Entrada: str = “11” Salida: 11 Explicación: Las substrings de “11” son: 1, 1 y 11. Su XOR = 1 ⊕ 1 ⊕ 11 = 11 Entrada: str = “110” … Continue reading «XOR de todas las substrings de una string binaria dada»

Programa Python3 para Número de trillizos únicos cuyo XOR es cero

Dados N números sin duplicados, cuente el número de tripletes únicos (a i , a j , a k ) tales que su XOR sea 0. Se dice que un triplete es único si los tres números del triplete son únicos.  Ejemplos:  Input : a[] = {1, 3, 5, 10, 14, 15}; Output : 2 … Continue reading «Programa Python3 para Número de trillizos únicos cuyo XOR es cero»

Cifrado XOR

El cifrado XOR es un método de cifrado utilizado para cifrar datos y es difícil de descifrar mediante el método de fuerza bruta, es decir, generar claves de cifrado aleatorias para que coincidan con la correcta.  A continuación se muestra una implementación simple en C++. El concepto de implementación es primero definir XOR: clave de … Continue reading «Cifrado XOR»

Intercambiar tres variables sin usar una variable temporal

Dadas tres variables, a, b y c, intercámbielas sin variable temporal. Ejemplo :   Input : a = 10, b = 20 and c = 30 Output : a = 30, b = 10 and c = 20 Método 1 (usando operadores aritméticos)  La idea es obtener la suma en uno de los dos números dados. … Continue reading «Intercambiar tres variables sin usar una variable temporal»

Técnicas de Optimización | Juego 2 (intercambio)

¿Cómo intercambiar dos variables? La pregunta puede parecer tonta, ni geek. Consulte el siguiente fragmento de código para intercambiar dos enteros ( intercambio XOR ), void myswap(int *x, int *y) { if (x != y) { *x^=*y^=*x^=*y; } } A primera vista, podemos pensar que no hay nada malo con el código. Sin embargo, cuando … Continue reading «Técnicas de Optimización | Juego 2 (intercambio)»

Recuento de bits incluso establecidos entre XOR de dos arrays

Dados dos arreglos A[] y B[] que tienen N y M elementos positivos respectivamente. La tarea es contar la cantidad de elementos en la array A con un número par de bits establecidos en XOR para cada elemento de la array B.  Ejemplos:   Entrada: A[] = { 4, 2, 15, 9, 8, 8 }, B[] … Continue reading «Recuento de bits incluso establecidos entre XOR de dos arrays»

Encuentra XOR de números del rango [L, R]

Dados dos enteros L y R , la tarea es encontrar el XOR de los elementos del rango [L, R] . Ejemplos: Entrada: L = 4, R = 8  Salida: 8  4 ^ 5 ^ 6 ^ 7 ^ 8 = 8 Entrada: L = 3, R = 7  Salida: 3   Enfoque ingenuo: inicialice la respuesta … Continue reading «Encuentra XOR de números del rango [L, R]»

Genera 0 y 1 con 25% y 75% de probabilidad

Dada una función rand50() que devuelve 0 o 1 con la misma probabilidad, escriba una función que devuelva 1 con un 75 % de probabilidad y 0 con un 25 % de probabilidad usando solo rand50(). Minimice el número de llamadas al método rand50(). Además, no se permite el uso de ninguna otra función de … Continue reading «Genera 0 y 1 con 25% y 75% de probabilidad»

Minimice Bitwise XOR de los elementos de la array con 1 requerido para hacer la suma de la array al menos K

Dada una array arr[] que consta de N enteros positivos y un entero positivo K , la tarea es contar el XOR bit a bit mínimo de los elementos de la array con 1 requerido de modo que la suma de la array sea al menos K . Ejemplos: Entrada: arr[] = {0, 1, 1, … Continue reading «Minimice Bitwise XOR de los elementos de la array con 1 requerido para hacer la suma de la array al menos K»

El par más pequeño de enteros con diferencia mínima cuyo Bitwise XOR es N

Dado un entero positivo N , la tarea es encontrar los dos enteros más pequeños A y B tales que el XOR bit a bit de A y B sea N y la diferencia entre A y B sea mínima. Ejemplos: Entrada: N = 26 Salida: 10 16 Explicación: El XOR bit a bit de … Continue reading «El par más pequeño de enteros con diferencia mínima cuyo Bitwise XOR es N»