PAST-PAPER PRACTICE Choose a paper All papers 2025 T2 Quiz 1 2025 T2 End-term (AN) 2025 T2 Quiz 2 2026 T2 End-term 2025 T2 End-term (FN) 2025 T3 End-term (AN) 2025 T3 End-term (FN) 2026 T2 Quiz 2 2026 T2 Quiz 1 2025 T3 Quiz 1
15 of 15 questions shown
Start here “What is the minimum number of gates?”
comes in every quiz and end-term. This page teaches the
method from zero, then solves every Week 3 question from the 11
past papers step by step, each with the exact paper it came
from.
Enlarge diagram ↗ Open full size diagram ↗ Most Week 3 questions follow
these four steps: simplify, check for a shortcut, build, then
count. How to read this page: each grey “Asked in” box is a
real past-paper question. Below it, How to solve shows
every step.
Step 1: simplify the function first. Many answers
turn out to be just 1 gate.
Step 2: learn this table by heart (every number was
checked by a computer search over all possible circuits):
Function
NAND gates
NOR gates
NOT A
1
1
A ⋅ B ( AND ) A \cdot B \left(\operatorname{AND}\right) A ⋅ B ( AND )
2
3
A + B ( OR ) A + B \left(\operatorname{OR}\right) A + B ( OR )
3
2
NAND
1
4
NOR
4
1
A ⊕ B ( XOR ) A \oplus B \left(\operatorname{XOR}\right) A ⊕ B ( XOR )
4
5
A ⊙ B A \odot B A ⊙ B (XNOR, “A = B A = B A = B ”)
5
4
Why these numbers (Level 1 → 3):
NOT from NAND: tie both inputs together. NAND ( A , A ) = NOT ( A ⋅ A ) = NOT A → \operatorname{NAND} \left(A , A\right) = \operatorname{NOT} \left(A \cdot A\right) = \operatorname{NOT} A \to NAND ( A , A ) = NOT ( A ⋅ A ) = NOT A → 1 gate .
AND from NAND: NAND gives NOT(AB). Flip it with one
more NAND → 2 gates .
OR from NAND: De Morgan says A + B = NOT ( A ‾ ⋅ B ‾ ) = NAND ( A ‾ , B ‾ ) A + B = \operatorname{NOT} \left(\overline{A} \cdot \overline{B}\right) = \operatorname{NAND} \left(\overline{A} , \overline{B}\right) A + B = NOT ( A ⋅ B ) = NAND ( A , B ) . Making A ‾ \overline{A} A and B ‾ \overline{B} B costs 2 → total 3 .
NOR is the mirror image: OR = 2 , AND = 3 \operatorname{OR} = 2 , \operatorname{AND} = 3 OR = 2 , AND = 3 .
NOR ( X , Y ) = X ‾ ⋅ Y ‾ \operatorname{NOR} \left(X , Y\right) = \overline{X} \cdot \overline{Y} NOR ( X , Y ) = X ⋅ Y : one NOR gives a “both are 0” term
for free .
NAND ( X , Y ) = X ‾ + Y ‾ \operatorname{NAND} \left(X , Y\right) = \overline{X} + \overline{Y} NAND ( X , Y ) = X + Y : one NAND gives an “either is 0”
term for free .
Step 4: count every gate , including NOTs made from
NAND/NOR.
Question: Minimum number of 2-input NAND gates to
realize F = ( X ‾ + Y ‾ ) ( Z + W ) F = \left(\overline{X} + \overline{Y}\right) \left(Z + W\right) F = ( X + Y ) ( Z + W ) ?
Show solution
Spot the shortcut: X ‾ + Y ‾ = NAND ( X , Y ) → \overline{X} + \overline{Y} = \operatorname{NAND} \left(X , Y\right) \to X + Y = NAND ( X , Y ) → G1 , 1 gate,
no NOTs needed.
Multiply out: F = F = F = G1·Z + Z + Z + G1·W
SOP → NAND–NAND: G2 = NAND(G1, Z), G3 = NAND(G1, W), F = NAND(G2,
G3)
Count: G1, G2, G3, F = F = F = 4 ✔ (a computer search
confirmed 3 is impossible)
Question: Minimum number of 2-input NOR gates for F = Σ ( 0 , 2 , 8 , 10 ) F = \Sigma \left(0 , 2 , 8 , 1 0\right) F = Σ ( 0 , 2 , 8 , 10 ) (4 inputs)?
Show solution
Write the rows in binary ( A B C D ) : 0 = 0000 , 2 = 0010 , 8 = 1000 , 10 = 1010 \left(A B C D\right) : 0 = 0 0 0 0 , 2 = 0 0 1 0 , 8 = 1 0 0 0 , 1 0 = 1 0 1 0 ( A B C D ) : 0 = 0000 , 2 = 0010 , 8 = 1000 , 10 = 1010
Which letters never change? B = 0 B = 0 B = 0 and D = 0 D = 0 D = 0 in all
four rows. A and C take both values.
So F = B ‾ ⋅ D ‾ F = \overline{B} \cdot \overline{D} F = B ⋅ D
B ‾ ⋅ D ‾ = NOT ( B + D ) = \overline{B} \cdot \overline{D} = \operatorname{NOT} \left(B + D\right) = B ⋅ D = NOT ( B + D ) = NOR(B, D) → 1
gate ✔
Question: Minimum number of 2-input NOR gates for F = Σ ( 5 , 7 , 13 , 15 ) F = \Sigma \left(5 , 7 , 1 3 , 1 5\right) F = Σ ( 5 , 7 , 13 , 15 ) ?
Show solution
Binary: 0101, 0111, 1101, 1111 → B = 1 B = 1 B = 1 and D = 1 D = 1 D = 1
always
F = B ⋅ D F = B \cdot D F = B ⋅ D (an AND)
AND from NOR costs 3 : NOR ( B , B ) = B ‾ , NOR ( D , D ) = D ‾ , NOR ( B ‾ , D ‾ ) = B D \operatorname{NOR} \left(B , B\right) = \overline{B} , \operatorname{NOR} \left(D , D\right) = \overline{D} , \operatorname{NOR} \left(\overline{B} , \overline{D}\right) = B D NOR ( B , B ) = B , NOR ( D , D ) = D , NOR ( B , D ) = B D ✔
Question: Minimum number of 2-input NAND gates for
the minimized SOP of f ( x , y , z ) = Σ m ( 0 , 2 , 5 , 7 ) f \left(x , y , z\right) = \Sigma m \left(0 , 2 , 5 , 7\right) f ( x , y , z ) = Σ m ( 0 , 2 , 5 , 7 ) ?
Show solution
Binary: 000, 010, 101, 111
Rows 000 and 010 : x = 0 , z = 0 → x ‾ z ‾ 0 1 0 : x = 0 , z = 0 \to \overline{x} \overline{z} 010 : x = 0 , z = 0 → x z . Rows 101 and 111 : x = 1 , z = 1 → x z 1 1 1 : x = 1 , z = 1 \to x z 111 : x = 1 , z = 1 → x z .
f = x ‾ z ‾ + x z = 1 f = \overline{x} \overline{z} + x z = 1 f = x z + x z = 1 when x = z → x = z \to x = z → XNOR(x, z)
XNOR from NAND = \operatorname{NAND} = NAND = 5 (from the table) ✔
Question: Minimum number of 2-input XNOR gates for
the same f = Σ m ( 0 , 2 , 5 , 7 ) f = \Sigma m \left(0 , 2 , 5 , 7\right) f = Σ m ( 0 , 2 , 5 , 7 ) ?
Show solution f = x ⊙ z f = x \odot z f = x ⊙ z (from above). That is one
XNOR gate → 1 ✔. Always simplify first!
Question: A 1-bit comparator outputs 1 if A = B A = B A = B ,
else 0. Minimum 2-input NOR gates?
Show solution
“1 when A = B A = B A = B ” is XNOR .
From the table: XNOR from NOR = \operatorname{NOR} = NOR = 4 .
The circuit: G1 = NOR(A, B), G2 = NOR(A, G1), G3 = NOR(B, G1), Y = NOR Y = \operatorname{NOR} Y = NOR (G2, G3).
A 1-bit equality checker
built from exactly 4 NOR gates.
Question: Same comparator (1 if A = B A = B A = B ), but using
only 2-input NAND gates. Minimum?
Show solution XNOR from NAND = XOR \operatorname{NAND} = \operatorname{XOR} NAND = XOR (4 NANDs) + one
NOT ( 1 NAND ) = \operatorname{NOT} \left(1 \operatorname{NAND}\right) = NOT ( 1 NAND ) = 5 .
Question: F = Σ ( 0 , 1 , 2 , 3 , 4 , 5 , 7 ) F = \Sigma \left(0 , 1 , 2 , 3 , 4 , 5 , 7\right) F = Σ ( 0 , 1 , 2 , 3 , 4 , 5 , 7 ) using
3-input NAND gates. Minimum?
Show solution
F is 1 in every row except 6 (110). So F = 0 F = 0 F = 0 only
when A = 1 , B = 1 , C = 0 A = 1 , B = 1 , C = 0 A = 1 , B = 1 , C = 0 .
F = NOT ( A ⋅ B ⋅ C ‾ ) = F = \operatorname{NOT} \left(A \cdot B \cdot \overline{C}\right) = F = NOT ( A ⋅ B ⋅ C ) = NAND ( A , B , C ‾ ) \operatorname{NAND} \left(A , B , \overline{C}\right) NAND ( A , B , C ) → 1 gate, but it
needs C ‾ \overline{C} C .
C ‾ = NAND ( C , C , C ) → 1 \overline{C} = \operatorname{NAND} \left(C , C , C\right) \to 1 C = NAND ( C , C , C ) → 1 more gate.
Total 2 ✔
Draw a line wherever any input changes. This cuts
time into slices .
In each slice, read every input and Y. Each slice = one truth-table
row.
Find the function, then count gates (Type 1).
Usual pattern in these papers: A changes slowest, C
fastest, so the slices go 000, 001, 010, …, 111 in order.
Question: Timing diagram for A, B, C and Y. Minimum
2-input XOR gates to make Y?
Show solution
Read the 8 slices (ABC → Y): 000→0, 001→1, 010→1, 011→0, 100→1,
101→0, 110→0, 111→1
Y = 1 Y = 1 Y = 1 when the number of 1s is odd (1, 1, 1, 3) →
Y = A ⊕ B ⊕ C Y = A \oplus B \oplus C Y = A ⊕ B ⊕ C
With 2-input XORs: ( A ⊕ B ) ⊕ C → \left(A \oplus B\right) \oplus C \to ( A ⊕ B ) ⊕ C → 2 gates ✔
Question: Timing diagram for A, B, C and Y. Minimum
2-input NAND gates to make Y?
Show solution
Read the slices: Y = 1 , 1 , 1 , 1 , 1 , 1 , 1 Y = 1 , 1 , 1 , 1 , 1 , 1 , 1 Y = 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 . Y is 0
only in slice 111.
So Y = NOT ( A ⋅ B ⋅ C ) , a 3 Y = \operatorname{NOT} \left(A \cdot B \cdot C\right) , a 3 Y = NOT ( A ⋅ B ⋅ C ) , a 3 -input NAND.
With 2-input NANDs: G1 = NAND(A, B), G2 = NAND(G1, G1) = A B , Y = NAND A B , Y = \operatorname{NAND} A B , Y = NAND (G2, C)
Total 3 ✔
Question: Timing diagram for A, B, C and Output Y.
Minimum 2-input NOR gates to make Y?
Show solution
Read the slices: Y = 0 , 1 , 0 , 1 , 1 , 1 , 1 , 1 Y = 0 , 1 , 0 , 1 , 1 , 1 , 1 , 1 Y = 0 , 1 , 0 , 1 , 1 , 1 , 1 , 1
Y = 0 Y = 0 Y = 0 only in rows 000 and 010 → there A = 0 A = 0 A = 0 and C = 0 C = 0 C = 0 . So Y = Y = Y =
A + C A + C A + C .
OR from NOR = \operatorname{NOR} = NOR = 2 : G1 = NOR ( A , C ) , Y = NOR \operatorname{NOR} \left(A , C\right) , Y = \operatorname{NOR} NOR ( A , C ) , Y = NOR (G1, G1)
✔
Σ m \Sigma m Σ m lists the rows where F = 1 F = 1 F = 1 . Π M \Pi M Π M
lists the rows where F = 0 F = 0 F = 0 . Change Σ ↔︎ Π by taking the
other numbers.
A maxterm for a 0-row: digit 0 → plain letter,
digit 1 → barred letter, joined by + .
To check an option quickly: find where the option is
0 and compare with the 0-rows.
Question: F ( a , b , c ) = Π ( 0 , 1 , 2 , 4 ) F \left(a , b , c\right) = \Pi \left(0 , 1 , 2 , 4\right) F ( a , b , c ) = Π ( 0 , 1 , 2 , 4 ) . Find the
minimized SOP. Options: a ‾ c + a b / a b ‾ + a c ‾ + b ‾ c / a b + b c + c a / a b ‾ + a c ‾ + b ‾ c ‾ \overline{a} c + a b / a \overline{b} + a \overline{c} + \overline{b} c / a b + b c + c a / a \overline{b} + a \overline{c} + \overline{b} \overline{c} a c + ab / a b + a c + b c / ab + b c + c a / a b + a c + b c / None
Show solution
F = 0 F = 0 F = 0 in rows 0 , 1 , 2 , 4 → F = 1 0 , 1 , 2 , 4 \to F = 1 0 , 1 , 2 , 4 → F = 1 in the other rows:
3, 5, 6, 7
Binary: 011, 101, 110, 111 → every row has two or more
1s
That is a b + b c + c a a b + b c + c a ab + b c + c a (any two are 1) ✔
Question: F ( a , b , c ) = Π ( 1 , 2 , 3 , 7 ) F \left(a , b , c\right) = \Pi \left(1 , 2 , 3 , 7\right) F ( a , b , c ) = Π ( 1 , 2 , 3 , 7 ) . Find the
minimized SOP.
Show solution
F = 1 F = 1 F = 1 in rows 0, 4, 5, 6 = 000, 100, 101, 110
Pair them: 000 + 100 → b ‾ c ‾ 0 0 0 + 1 0 0 \to \overline{b} \overline{c} 000 + 100 → b c . 100 + 101 → a b ‾ 1 0 0 + 1 0 1 \to a \overline{b} 100 + 101 → a b . 100 + 110 → a c ‾ 1 0 0 + 1 1 0 \to a \overline{c} 100 + 110 → a c .
F = a b ‾ + a c ‾ + b ‾ c ‾ F = a \overline{b} + a \overline{c} + \overline{b} \overline{c} F = a b + a c + b c ✔ (each pair shares 100, and every row is
covered)
Question: F ( A , B , C ) = Σ ( 0 , 2 , 3 , 6 ) F \left(A , B , C\right) = \Sigma \left(0 , 2 , 3 , 6\right) F ( A , B , C ) = Σ ( 0 , 2 , 3 , 6 ) . Which is the
correct minimized POS? Options: ( A + B ) ( A ‾ + C ‾ ) / ( A ‾ + B + C ) ( A + B ‾ ) / ( A + B ‾ ) ( A ‾ + C ‾ ) \left(A + B\right) \left(\overline{A} + \overline{C}\right) / \left(\overline{A} + B + C\right) \left(A + \overline{B}\right) / \left(A + \overline{B}\right) \left(\overline{A} + \overline{C}\right) ( A + B ) ( A + C ) / ( A + B + C ) ( A + B ) / ( A + B ) ( A + C ) / None of these
Show solution
F = 0 F = 0 F = 0 in rows 1, 4, 5, 7 = 001, 100, 101, 111
Check the keyed option ( A + B ‾ ) ( A ‾ + C ‾ ) \left(A + \overline{B}\right) \left(\overline{A} + \overline{C}\right) ( A + B ) ( A + C ) . It is 0 when A = 0 A = 0 A = 0 and B = 1 B = 1 B = 1
(rows 2, 3), or when A = 1 A = 1 A = 1 and C = 1 C = 1 C = 1 (rows 5, 7). So its 0-rows are 2,
3, 5, 7, not 1, 4, 5, 7 ✗
Row 2 makes it obvious: F should be 1 at row 2
(it’s in the Σ list), but the option gives 0.
The true minimum POS needs three terms: ( B + C ‾ ) ( A ‾ + B ) ( A ‾ + C ‾ ) \left(B + \overline{C}\right) \left(\overline{A} + B\right) \left(\overline{A} + \overline{C}\right) ( B + C ) ( A + B ) ( A + C ) . We checked by computer that no 2-term POS works.
So the correct choice is None of these . (In the
exam the key gave marks to ( A + B ‾ ) ( A ‾ + C ‾ ) \left(A + \overline{B}\right) \left(\overline{A} + \overline{C}\right) ( A + B ) ( A + C ) .)
A literal is one letter, with or without a bar, each
time it appears. Simplify fully, then count
letters.
Useful steps: take out a common part, then use X + X ‾ = 1 X + \overline{X} = 1 X + X = 1 .
Question: Minimum number of literals in the SOP
form: a b + a ‾ b ‾ c ‾ + a ‾ b c ‾ a b + \overline{a} \overline{b} \overline{c} + \overline{a} b \overline{c} ab + a b c + a b c
Show solution
The last two terms share a ‾ c ‾ : a ‾ b ‾ c ‾ + a ‾ b c ‾ = a ‾ c ‾ ( b ‾ + b ) \overline{a} \overline{c} : \overline{a} \overline{b} \overline{c} + \overline{a} b \overline{c} = \overline{a} \overline{c} \left(\overline{b} + b\right) a c : a b c + a b c = a c ( b + b )
b ‾ + b = 1 \overline{b} + b = 1 b + b = 1 , so they become a ‾ c ‾ \overline{a} \overline{c} a c
F = a b + a ‾ c ‾ → F = a b + \overline{a} \overline{c} \to F = ab + a c → letters: a , b , a ‾ , c ‾ → a , b , \overline{a} , \overline{c} \to a , b , a , c → 4 ✔
Minimum 2-input NAND gates for A + B C A + B C A + B C ?
G1 = NAND ( A , A ) = A ‾ \operatorname{NAND} \left(A , A\right) = \overline{A} NAND ( A , A ) = A , G2 = NAND ( B , C ) , F = NAND \operatorname{NAND} \left(B , C\right) , F = \operatorname{NAND} NAND ( B , C ) , F = NAND (G1, G2).
Minimum 2-input NOR gates for F = Σ ( 1 , 3 , 9 , 11 ) F = \Sigma \left(1 , 3 , 9 , 1 1\right) F = Σ ( 1 , 3 , 9 , 11 ) (4 inputs)?
Rows 0001 , 0011 , 1001 , 1011 → B = 0 , D = 1 → F = B ‾ D 0 0 0 1 , 0 0 1 1 , 1 0 0 1 , 1 0 1 1 \to B = 0 , D = 1 \to F = \overline{B} D 0001 , 0011 , 1001 , 1011 → B = 0 , D = 1 → F = B D . NOR ( B , D ‾ ) \operatorname{NOR} \left(B , \overline{D}\right) NOR ( B , D ) with D ‾ = NOR ( D , D ) → 2 \overline{D} = \operatorname{NOR} \left(D , D\right) \to 2 D = NOR ( D , D ) → 2 gates.
Timing slices give Y = 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 Y = 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 Y = 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 (ABC from 000 to 111).
Function and minimum 2-input NAND?
Y = 1 Y = 1 Y = 1 exactly when B = 0 B = 0 B = 0 , so Y = B ‾ Y = \overline{B} Y = B . NAND(B, B) → 1 gate.
F = Π ( 0 , 3 , 5 , 6 ) F = \Pi \left(0 , 3 , 5 , 6\right) F = Π ( 0 , 3 , 5 , 6 ) . Write F as Σ m \Sigma m Σ m .
Σ m ( 1 , 2 , 4 , 7 ) ( = A ⊕ B ⊕ C ) \Sigma m \left(1 , 2 , 4 , 7\right) \left(= A \oplus B \oplus C\right) Σ m ( 1 , 2 , 4 , 7 ) ( = A ⊕ B ⊕ C ) .
In one line: Simplify first, use the NAND/NOR table
and free shortcuts, read timing diagrams slice by slice, and test
SOP/POS options by finding their 0-rows. Exam words:
minimum gate count, universal gates, NAND, NOR, XNOR, comparator, timing
diagram, Σ m , Π M \Sigma m , \Pi M Σ m , Π M , maxterm, literal.