n개의 숫자가 두 개씩 묶일 경우의 수를 구해라
1 2 3 4 5 6 7 ... n
1,2
1,3
1,4
1,5
1,6
1,7
...
1,n
2,3
2,4
2,5
...
2,n
3,4
...
=> (n-1)(n-2)...*1
만약 이런 경우가 있으면
(n-1)!(n-2)!...*1!
recursion(){
recursion()
}
쟈귀 소 ㄱ재귀가 됨?
https://han-py.tistory.com/224
KEYWORD: 순열 재귀함수

b=[]
for n in range(1,6):
c=[]
for i in range(n,6):
c.append(i)
b.append(list(c)) #아근데 복제 안 하고 그냥 c이러면 나중에 다 1,2,3,4,5 이렇게 바뀌지않나 mutable
print(b)
b.append(c) 라고 하면

list가 mutable 이라서
숫자 입력받고 1부터 그 숫자까지


b=[]
d=int(input())
def appe(i):
c.append(i)
b.append(list(c))
print(list(c), end=', ')
if i!=d:
i+=1
appe(i)
i=1
for j in range(i,d+1):
c=[]
appe(j)
이거 시간복잡도 어떻게 되지 이중for보다 훨 나은가? 계산해보기
뭔가 재귀함수 만들 때는 한 세트로 묶일만한 것만 재귀로 구현하는 거로 하고...전체 기능을 해결할 필요는 없나?