![](https://habrastorage.org/web/883/3ea/a22/8833eaa2292a41cd8cb463bb0739bc4d.jpg)
Преподаватель в институте рассказывал, что подобного рода задачи возникали в эру ламповых ЭВМ. Но расспросить подробности у нас студентов-бездарей ума не хватило, потому сейчас историю приходится восстанавливать по описанию старых машин и немного додумывать.
Первые электронные вычислительные машины строились на лампах. Так первая в СССР (1950 год) ЭВМ МЭСМ содержала около 6000 ламп, с помощью которых реализовывались логические функции „И“, „ИЛИ“ и „НЕ“ двоичной логики, которые лежат в основе и современных компьютеров. Реализацию классических вентилей на лампах можно посмотреть на картинке.
![](https://habrastorage.org/web/efa/071/73c/efa07173c58b4d24a6505a29fd520bd9.jpg)
Логическая функция „И“ строилась на одной лампе, число входов определялось числом сеток в лампе. А для реализации элемента классического вентиля „2ИЛИ“ требовалось две лампы. И хотя в последствии появились так называемые компактроны, что то на подобии сборок из нескольких ламп в одной колбе, инженерами все же приходилось оптимизировать логические выражения для того, что бы в них преобладала функция „И“. Лампы были дорогими, не надежными (наработка на отказ 750 часов), выделяли много тепла, но самое главное они были огромными. В 1952 году появились первые отечественные полупроводниковые диоды для замены маломощных ламп. Их появление ознаменовало появление диодной логики, которая позволила значительно сократить размер логических вентилей. Реализация функции „И“ и „ИЛИ“ на диодной логике представлено на рисунке.
![](https://habrastorage.org/web/a42/0b9/0b0/a420b90b0a6947d196d2e01013388716.jpg)
Но для реализации инвертора все еще требовалась лампа. Для построения машины БЭСМ-2 уже применялись полупроводниковые диоды, и она содержала уже 4000 ламп и 5000 полупроводниковых диодов. Сокращение размеров и потребления вентилей „И“ и „ИЛИ“ были значительными, и заставляло оптимизировать логических функций для уменьшении числа инверторов в схеме. Наверное именно тогда инженерам и пришлось впервые решить эту задачу.
Серийное производство транзисторов, позволивших полностью отказаться от ламп, началось в нашей стране в 1955 году. И в 1959 году первой
И все же вернемся к нашей задаче.
Если кто знает решение, давайте не портить удовольствие тем кто хочет решить ее сам. Ответы принимаются в комментариях, просьба оформлять их в виде записи на языке С или Verilog.
Вариант {nA,nB,nC} <= !{A,B,C}; не принимается, это три инвертора.
UPD:
Решение от @eatmore
D = !((A&B)|(B&C)|(A&C))
E = !((D&(A|B|C))|(A&B&C))
nA = (D&E)|(D&(B|C))|(E&B&C)
nB = (D&E)|(D&(A|C))|(E&A&C)
nC = (D&E)|(D&(A|B))|(E&A&B)
E = !((D&(A|B|C))|(A&B&C))
nA = (D&E)|(D&(B|C))|(E&B&C)
nB = (D&E)|(D&(A|C))|(E&A&C)
nC = (D&E)|(D&(A|B))|(E&A&B)
Визуализация решения от @AndreyDmitriev![image](https://habrastorage.org/web/94c/26f/a9c/94c26fa9c5754dddb81df66cb11e6dbd.gif)
![image](https://habrastorage.org/web/94c/26f/a9c/94c26fa9c5754dddb81df66cb11e6dbd.gif)
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Можно ли проинвертировать три сигнала, если у вас есть только два инвертора, и неограниченное количество элементов «И» и «ИЛИ»?
9.68% Нельзя.9
44.09% Можно, я нагуглил ответ.41
46.24% Можно, я решил сам!43
Проголосовали 93 пользователя. Воздержались 124 пользователя.