PUZZLE #5185: Logic Gate Circuit (diff 4)
A digital logic circuit with 60 gates (19x AND, 30x NOT, 11x OR). Simulate the gates forward from the given inputs. The output bits encode a 6-character word using 5-bit binary (A=00000 through Z=11001).
DATA
| Difficulty |
4
|
| Word Length |
6
|
| Output Width |
30
|
| Encoding |
5-bit binary (A=00000, B=00001, ..., Z=11001)
|
| Gates |
{'id': 'g0', 'type': 'AND', 'inputs': ['i0', 'i1'], 'output': 'n1'}, {'id': 'g1', 'type': 'NOT', 'inputs': ['n1'], 'output': 'o0'}, {'id': 'g2', 'type': 'AND', 'inputs': ['i2', 'i3'], 'output': 'n2'}, {'id': 'g3', 'type': 'NOT', 'inputs': ['n2'], 'output': 'o1'}, {'id': 'g4', 'type': 'AND', 'inputs': ['i4', 'i5'], 'output': 'n3'}, {'id': 'g5', 'type': 'NOT', 'inputs': ['n3'], 'output': 'o2'}, {'id': 'g6', 'type': 'OR', 'inputs': ['i6', 'i7'], 'output': 'n4'}, {'id': 'g7', 'type': 'NOT', 'inputs': ['n4'], 'output': 'o3'}, {'id': 'g8', 'type': 'AND', 'inputs': ['i8', 'i9'], 'output': 'n5'}, {'id': 'g9', 'type': 'NOT', 'inputs': ['n5'], 'output': 'o4'}, {'id': 'g10', 'type': 'AND', 'inputs': ['i10', 'i11'], 'output': 'n6'}, {'id': 'g11', 'type': 'NOT', 'inputs': ['n6'], 'output': 'o5'}, {'id': 'g12', 'type': 'AND', 'inputs': ['i12', 'i13'], 'output': 'n7'}, {'id': 'g13', 'type': 'NOT', 'inputs': ['n7'], 'output': 'o6'}, {'id': 'g14', 'type': 'OR', 'inputs': ['i14', 'i15'], 'output': 'n8'}, {'id': 'g15', 'type': 'NOT', 'inputs': ['n8'], 'output': 'o7'}, {'id': 'g16', 'type': 'AND', 'inputs': ['i16', 'i17'], 'output': 'n9'}, {'id': 'g17', 'type': 'NOT', 'inputs': ['n9'], 'output': 'o8'}, {'id': 'g18', 'type': 'OR', 'inputs': ['i18', 'i19'], 'output': 'n10'}, {'id': 'g19', 'type': 'NOT', 'inputs': ['n10'], 'output': 'o9'}, {'id': 'g20', 'type': 'OR', 'inputs': ['i20', 'i21'], 'output': 'n11'}, {'id': 'g21', 'type': 'NOT', 'inputs': ['n11'], 'output': 'o10'}, {'id': 'g22', 'type': 'OR', 'inputs': ['i22', 'i23'], 'output': 'n12'}, {'id': 'g23', 'type': 'NOT', 'inputs': ['n12'], 'output': 'o11'}, {'id': 'g24', 'type': 'AND', 'inputs': ['i24', 'i25'], 'output': 'n13'}, {'id': 'g25', 'type': 'NOT', 'inputs': ['n13'], 'output': 'o12'}, {'id': 'g26', 'type': 'AND', 'inputs': ['i26', 'i27'], 'output': 'n14'}, {'id': 'g27', 'type': 'NOT', 'inputs': ['n14'], 'output': 'o13'}, {'id': 'g28', 'type': 'AND', 'inputs': ['i28', 'i29'], 'output': 'n15'}, {'id': 'g29', 'type': 'NOT', 'inputs': ['n15'], 'output': 'o14'}, {'id': 'g30', 'type': 'AND', 'inputs': ['i30', 'i31'], 'output': 'n16'}, {'id': 'g31', 'type': 'NOT', 'inputs': ['n16'], 'output': 'o15'}, {'id': 'g32', 'type': 'AND', 'inputs': ['i32', 'i33'], 'output': 'n17'}, {'id': 'g33', 'type': 'NOT', 'inputs': ['n17'], 'output': 'o16'}, {'id': 'g34', 'type': 'AND', 'inputs': ['i34', 'i35'], 'output': 'n18'}, {'id': 'g35', 'type': 'NOT', 'inputs': ['n18'], 'output': 'o17'}, {'id': 'g36', 'type': 'OR', 'inputs': ['i36', 'i37'], 'output': 'n19'}, {'id': 'g37', 'type': 'NOT', 'inputs': ['n19'], 'output': 'o18'}, {'id': 'g38', 'type': 'OR', 'inputs': ['i38', 'i39'], 'output': 'n20'}, {'id': 'g39', 'type': 'NOT', 'inputs': ['n20'], 'output': 'o19'}, {'id': 'g40', 'type': 'OR', 'inputs': ['i40', 'i41'], 'output': 'n21'}, {'id': 'g41', 'type': 'NOT', 'inputs': ['n21'], 'output': 'o20'}, {'id': 'g42', 'type': 'OR', 'inputs': ['i42', 'i43'], 'output': 'n22'}, {'id': 'g43', 'type': 'NOT', 'inputs': ['n22'], 'output': 'o21'}, {'id': 'g44', 'type': 'AND', 'inputs': ['i44', 'i45'], 'output': 'n23'}, {'id': 'g45', 'type': 'NOT', 'inputs': ['n23'], 'output': 'o22'}, {'id': 'g46', 'type': 'AND', 'inputs': ['i46', 'i47'], 'output': 'n24'}, {'id': 'g47', 'type': 'NOT', 'inputs': ['n24'], 'output': 'o23'}, {'id': 'g48', 'type': 'OR', 'inputs': ['i48', 'i49'], 'output': 'n25'}, {'id': 'g49', 'type': 'NOT', 'inputs': ['n25'], 'output': 'o24'}, {'id': 'g50', 'type': 'AND', 'inputs': ['i50', 'i51'], 'output': 'n26'}, {'id': 'g51', 'type': 'NOT', 'inputs': ['n26'], 'output': 'o25'}, {'id': 'g52', 'type': 'OR', 'inputs': ['i52', 'i53'], 'output': 'n27'}, {'id': 'g53', 'type': 'NOT', 'inputs': ['n27'], 'output': 'o26'}, {'id': 'g54', 'type': 'AND', 'inputs': ['i54', 'i55'], 'output': 'n28'}, {'id': 'g55', 'type': 'NOT', 'inputs': ['n28'], 'output': 'o27'}, {'id': 'g56', 'type': 'AND', 'inputs': ['i56', 'i57'], 'output': 'n29'}, {'id': 'g57', 'type': 'NOT', 'inputs': ['n29'], 'output': 'o28'}, {'id': 'g58', 'type': 'AND', 'inputs': ['i58', 'i59'], 'output': 'n30'}, {'id': 'g59', 'type': 'NOT', 'inputs': ['n30'], 'output': 'o29'}
|
| Inputs |
{
"i0": 0,
"i1": 1,
"i10": 1,
"i11": 1,
"i12": 0,
"i13": 0,
"i14": 1,
"i15": 1,
"i16": 1,
"i17": 1,
"i18": 1,
"i19": 1,
"i2": 1,
"i20": 1,
"i21": 1,
"i22": 0,
"i23": 0,
"i24": 0,
"i25": 0,
"i26": 0,
"i27": 1,
"i28": 0,
"i29": 0,
"i3": 1,
"i30": 1,
"i31": 1,
"i32": 0,
"i33": 1,
"i34": 0,
"i35": 0,
"i36": 0,
"i37": 0,
"i38": 0,
"i39": 0,
"i4": 1,
"i40": 1,
"i41": 0,
"i42": 0,
"i43": 0,
"i44": 1,
"i45": 1,
"i46": 0,
"i47": 1,
"i48": 0,
"i49": 0,
"i5": 1,
"i50": 1,
"i51": 1,
"i52": 1,
"i53": 1,
"i54": 0,
"i55": 0,
"i56": 1,
"i57": 1,
"i58": 1,
"i59": 1,
"i6": 1,
"i7": 0,
"i8": 0,
"i9": 0
}
|
| Output Nodes |
o0, o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12, o13, o14, o15, o16, o17, o18, o19, o20, o21, o22, o23, o24, o25, o26, o27, o28, o29
|
| N Gates |
60
|
| N Inputs |
60
|
| Instructions |
Digital logic circuit — simulate the gates forward.
1. Start with the given input values (bits).
2. For each gate in topological order:
- Read its input values (from inputs or previous gate outputs)
- Compute output based on gate type:
BUF = input
NOT = 1 - input
AND = 1 if ALL inputs are 1, else 0
NAND = 0 if ALL inputs are 1, else 1
OR = 1 if ANY input is 1, else 0
NOR = 0 if ANY input is 1, else 1
XOR = 1 if odd number of 1s, else 0
XNOR = 1 if even number of 1s, else 0
3. After all gates are simulated, read the output nodes.
4. Group the output bits into 5-bit chunks.
5. Map each 5-bit value to a letter (0=A, 1=B, ..., 25=Z).
6. Concatenate to spell the hidden word.
|
| Hint |
Logic circuit: 60 gates (19x AND, 30x NOT, 11x OR), 60 inputs, 6 chars (30 output bits). Simulate forward, decode 5-bit binary.
|
| Answer Format |
5-bit binary string (e.g., "01010")
|
author's note: Pool fill: logic-gate diff 4
— website sponsored —
[ ad space ]