백트래킹 문제다. 조합을 백트래킹으로 푸는 방법은
check불리언 값 참/거짓 변경과 함께 현재 어떤 인덱스까지 체크했는지 재귀 파라미터로 넘겨주는 것.
import sys
def get_lotto(cnt, num, start_idx):
    if cnt == 6:
        print(*num)
        return
    for i in range(start_idx, k):
        if not check[i]:
            check[i] = True
            get_lotto(cnt + 1, num + [numbers[i]], i)
            check[i] = False
while True:
    numbers = list(map(int, sys.stdin.readline().rstrip().split()))
    k = numbers.pop(0)
    if k == 0: break
    check = [False for _ in range(k)]
    get_lotto(0, [], 0)
    print()