순서를 고려한다.
중복을 허용하지 않는 순열 ⇒ 일반 순열
중복을 허용하는 순열 ⇒ 중복 순열
서로 다른 n개의 원소 중 r개를 순서 없이 골라낸 것을 “조합”이라고 한다.
순서를 고려하지 않는다.

// 중복이 아닌 조합
// cnt : 현재까지 뽑은 조합 원소 개수
// start : 조합 시도할 원소의 시작 인덱스
combination(cnt, start)
if cnt == r
조합 생성 완료
else
for i from start to n - 1
numbers[cnt] <- input[i];
combination(cnt + 1, i + 1); // i+1이 아닌, start는 쓰지 않도록 조심하자!!
end for
end combination()