5개의 단어로 경우의 수를 만들려고 합니다.
A,B,C,D,E
경우의 수는 아래와 같은 형식의 값들을 다 뽑아 내야 하는데요. 이것을 로직화가 가능할까요.
도와주세요
A
AB
AC
AD
AE
ABC
ABD
ABE
ACD
ACE
ADE
ABCD
ABCE
ABDE
ABCDE
B
BC
BD
BE
BCD
BCE
BDE
BCDE
C
CD
CE
CDE
D
DE
E
------------------------------------------------------
def enumTwo(s,cl,k):
if k==0:
print s
return
n=len(cl)
for x in range(n-k+1):
enumTwo(s+cl[x], cl[x+1:],k-1)
def enumOne(s,cl):
print s
n=len(cl)
for x in range(1,n+1):
enumTwo(s,cl,x)
al=['A','B','C','D','E']
n=len(al)
for x in range(n):
enumOne(al[x],al[x+1:])
'자바·파이썬·자바스크립트 > 파이썬 프로그래밍' 카테고리의 다른 글
유리수의 계산 (0) | 2012.01.17 |
---|---|
15퍼즐 (0) | 2012.01.03 |
닮은 단어 2 (0) | 2011.12.27 |
파이썬 프로그래밍 코드좀 부탁드립니다.. (0) | 2011.12.25 |
힙정렬에서 downheap을 써서 heapify를 하는 이유 (0) | 2011.12.06 |