본문 바로가기
파이썬

파이썬 정수 분할을위한 우아한 Python 코드

by º기록 2021. 2. 21.
반응형


 

해결 방법

 

이 답변은 괜찮지 만 아래 skovorodkin의 답변을 권장합니다.

>>> def partition(number):
...     answer = set()
...     answer.add((number, ))
...     for x in range(1, number):
...         for y in partition(number - x):
...             answer.add(tuple(sorted((x, ) + y)))
...     return answer
... 
>>> partition(4)
set([(1, 3), (2, 2), (1, 1, 2), (1, 1, 1, 1), (4,)])

모든 순열 (예 : (1, 3) 및 (3, 1))을 원하면 answer.add (tuple (sorted ((x,) + y)) answer.add ((x,) + y)

 

참조 페이지 https://stackoverflow.com/questions/10035752

 

 

반응형

댓글