Небольшая головоломка времён ламп и первых транзисторов.
Для любителей решать головоломки вот небольшая головоломка в стиле инженеров полувековой давности. Пусть есть два устройства A и B . Устройство A выдаёт "1" если на входе 1 и входе 2 одновременно тоже единица. В противном случае она на входе выдаёт 0 . Достоверное значение на выходе получается через 1 такт. Устройство B выдаёт "1" если на вход 1 подаётся "0", а на вход 2 подаётся "1". Устройства считаются идеальными - не требуют повторителей и т.д. Допустим у нас есть 2 входных провода a0 и b0. Мы ходит перемножить a0*b0 , понятно, что подключаем эти два провода к устройству A и на выходе получаем результат перемножения. За 1 такт. Теперь вопрос в студию. Пусть есть два двухбитных числа, которые подаются по проводу a0 ,a1 и b0,b1 , на выходе у нас провода c0,с1,с2,с3 (ну допустим c3 младший разряд, а с0 - cтарший, но кому удобнее может и наоборот). Комбинируя провода и устройства A,B нужно получить результат вычисления за наименьшее количество тактов(число устройств не ограничено , но лучше меньше). Головоломка где-то на полчаса , если не подсматривать в учебники, интернет и т.д.
Лига программистов
2.1K постов11.9K подписчиков
Правила сообщества
- Будьте взаимовежливы, аргументируйте критику
- Приветствуются любые посты по тематике программирования
- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества