Enunciado del problema
Implementar el resultado de una compuerta lógica aplicada a n bits. Haga clic para conocer el funcionamiento dcompuertas lógicas básicas. Cada bit representa un valor booleano, 0 para falso y 1 para verdadero.
Entrada
Primero debe leer el número n, indicando el número de bits que ingresarán a continuación (1 <= n <= 10000
).
[0, 1]
Salida
- Su programa deberá imprimir el resultado de las siguientes compuertas en orden, indicando la operación de la puerta con su nombre en inglés (este será el nombre que usualmente encontrará cuando las use), como se ve en la salida de ejemplo:
- AND
- OR
- XOR
- NAND
- NOR
- XNOR
Esta salida será el resultado de aplicar la puerta para cada uno de los bits por pares, por ejemplo para el segundo caso de salida que se compone de tres bits: 1 0 1 la respuesta será la siguiente para cada una de las puertas: Note como en este ejemplo xor y xnor dieron el mismo valor, por lo que no es correcto asumir que xor = not(a xnor b xnor c xnor d xnor ...)
Si solo hay un caso de prueba, la respuesta es el mismo caso de prueba.
Ejemplos
Entrada Ejemplo 1
2 1 1
Salida Ejemplo 1
And: True Or: True Xor: False Nand: False Nor: False Xnor: True
Entrada Ejemplo 2
3 1 0 1
Salida Ejemplo 2
And: False Or: True Xor: False Nand: False Nor: False Xnor: False
Entrada Ejemplo 3
1 1
Salida Ejemplo 3
And: True Or: True Xor: True Nand: True Nor: True Xnor: True
Notas
La salida debe tener un caractér de nueva línea al final del archivo, de lo contrario puede recibir el veredicto de respuesta incorrecta. Consejo para resolver este problema: implementelo correctamente para una sola compuerta completa con dos entradas y luego solo generalicelo. Ya sabe que sabe el valor exacto para por ejemplo a xor b y lo puede codificar como condiciones.