
La tarea
"¿Es posible invertir tres señales, si solo tiene dos inversores y un número ilimitado de elementos" Y "y" O "? Decidimos en el instituto en un par. Ahora su decisión desconcierta incluso a los profesionales avanzados. Veamos cómo lo maneja la comunidad geektimes, y al mismo tiempo intente restaurar el historial de su ocurrencia ...
Un profesor del instituto dijo que las tareas de este tipo surgieron en la era de las computadoras de tubo. Pero no teníamos suficiente mente para pedir detalles a los estudiantes de mediocridad, porque ahora tenemos que restaurar la historia de acuerdo con la descripción de los autos viejos y pensar un poco.
Las primeras computadoras electrónicas fueron construidas con lámparas. Entonces, la primera computadora MESM de la URSS (1950) contenía unas 6000 lámparas, con la ayuda de las cuales se implementaron las funciones lógicas “Y”, “O” y “NO” de lógica binaria, que subyacen a las computadoras modernas. La implementación de las válvulas clásicas en las lámparas se puede ver en la imagen.

La función lógica "Y" se construyó en una sola lámpara, el número de entradas se determinó por el número de rejillas en la lámpara. Y para la implementación del elemento de la válvula clásica 2IL, se requerían dos lámparas. Y aunque posteriormente aparecieron los denominados compactrones, algo similar a los conjuntos de varias lámparas en una bombilla, los ingenieros aún tenían que optimizar las expresiones lógicas para que la función "Y" prevaleciera en ellos. Las lámparas eran caras, no confiables (MTBF 750 horas), generaban mucho calor, pero lo más importante eran enormes. En 1952, los primeros diodos semiconductores domésticos parecieron reemplazar las lámparas de baja potencia. Su apariencia marcó la aparición de la lógica de diodos, lo que permitió reducir significativamente el tamaño de las puertas lógicas. La implementación de las funciones "AND" y "OR" en la lógica del diodo se muestra en la figura.

Pero todavía se necesitaba una lámpara para implementar el inversor. Ya se utilizaron diodos semiconductores para construir la máquina BESM-2, y ya contenía 4000 lámparas y 5000 diodos semiconductores. La reducción en el tamaño y el consumo de las válvulas "AND" y "OR" fue significativa, e hizo necesario optimizar las funciones lógicas para reducir el número de inversores en el circuito. Probablemente fue entonces cuando los ingenieros tuvieron que resolver este problema por primera vez.
La producción en serie de transistores, que permitió abandonar por completo las lámparas, comenzó en nuestro país en 1955. Y en 1959, la primera computadora sin tubo con
transistor fue la máquina Setun, aunque todavía tenía 20 lámparas.
Y sin embargo, volvamos a nuestra tarea.
Si alguien conoce una solución, no estropeemos la diversión para aquellos que quieran resolverlo por sí mismos. Se aceptan respuestas en los comentarios, complételas en forma de entradas en C o Verilog.
Variante {nA, nB, nC} <=! {A, B, C}; no aceptado, estos son tres inversores.
UPD:
Solución de @eatmoreD =! ((A y B) | (B y C) | (A y C))
E =! ((D y (A | B | C)) | (A y B y C))
nA = (D&E) | (D y (B | C)) | (E y B y C)
nB = (D&E) | (D y (A | C)) | (E y A y C)
nC = (D&E) | (D y (A | B)) | (E y A y B)
Visualización de la solución por @AndreyDmitriev