어떤 사건이 일어날 수 있는 모든 가짓수를 경우의 수라 한다. 사건 $A$가 일어나는 경우가 $m$가지, 사건 $B$가 일어나는 경우가 $n$가지일 때, 두 기본 법칙이 출발점이다:
"또는"이면 더하고, "그리고 나서"면 곱한다. 합의 법칙은 집합의 언어로 $n(A \cup B) = n(A) + n(B)$ ($A \cap B = \varnothing$일 때)를 세는 것이고, 겹침이 있으면 뺀다:
$$n(A \cup B) = n(A) + n(B) - n(A \cap B)$$
곱의 법칙은 "선택의 단계마다 가지가 갈라지는" 수형도를 한 번에 세는 것이다. 복잡한 문제도 결국 이 두 법칙의 조합으로 환원된다.
많은 학생이 여기서 가장 헷갈려 하는 건 언제 더하고 언제 곱하는가다. 공식을 외워도 문제 앞에서 손이 멈추는 이유는, "또는"과 "그리고"를 상황 속에서 구분하지 못하기 때문이다. 간단한 기준이 있다. 하나의 상황에서 여러 갈래 중 하나만 고르면 더하고, 여러 단계를 차례로 다 거쳐야 하면 곱한다. 점심으로 "한식 3가지 또는 양식 2가지 중 하나"를 먹으면 갈래가 갈라진 것이니 $3+2=5$가지지만, "음료 3가지 중 하나 고르고 그다음 디저트 2가지 중 하나도 고른다"면 두 단계를 다 밟아야 하므로 $3\times2=6$가지다. 문장에서 "~중 하나"인지 "~하고 또 ~"인지를 먼저 찾는 습관을 들이면 대부분 정리된다.
또 자주 놓치는 건 겹치는 경우다. 합의 법칙으로 그냥 더할 수 있는 건 두 사건이 동시에 일어나지 않을 때뿐이다. 겹치는 부분이 있으면 그만큼 두 번 센 셈이라 한 번 빼줘야 한다 — 이게 $n(A \cup B) = n(A) + n(B) - n(A \cap B)$의 뜻이다. "$3$의 배수 또는 $4$의 배수"처럼 $12$ 같은 수가 양쪽에 다 걸리는 상황에서 더하기만 하면, $12$를 두 번 센 것이 된다.
핵심은 문장을 읽고 "갈래인가, 단계인가"를 먼저 판단하고, 갈래일 때는 겹침이 없는지 확인하는 것이다.