Distinguishable objects into distinguishable boxesk 개의 식별 가능한 항목을 n 개의 식별 가능한 상자에 넣을 수있는 방법이 없음
게시 된이 질문과 매우 비슷합니다. 이 질문에 대한 파이썬 코드를 가져 오려고합니다. 비슷하지만 주요 차이점이 있습니다. 즉 버킷은 비어있을 수 있지만 다른 버킷에는 모든 항목이 포함될 수 있습니다. 이 경우에도 별도의 경우로 간주됩니다. 예
:
이 고려
는 I 3 개 항목 A, B, C 3 버킷을 B1, B2, B3예상 결과 표시 아래의 표 :
B1 B2 B3 (A,B,C) () () () (A,B,C) () () () (A,B,C) (A) (B) (C) (A) (C) (B) (B) (A) (C) (B) (C) (A) (C) (B) (A) (C) (A) (B) (A,B) (C) () (A,B) () (C) (B,C) (A) () (B,C) () (A) (A,C) (B) () (A,C) () (B) () (A,B) (C) (C) (A,B) () () (B,C) (A) (A) (B,C) () () (A,C) (B) (B) (A,C) () () (C) (A,B) (C) () (A,B) () (A) (B,C) (A) () (B,C) () (B) (A,C) (B) () (A,C) Length is 27.
>>def make_sets(items, num_of_baskets=3):
pass
>>make_sets(('A', 'B', 'C', 'D', 'E'), 3)
을
튜플 목록 목록 형태로 이러한 조합을 제공하는 함수의 출력을 기대합니다. 다시 말하지만 항목의 수는 가변적이며 버킷 수는 가변적입니다.
** make_sets 함수에 파이썬 코드를 제공하십시오.
누군가가 수학 조합론을 설명 할 수 있다면. 나는 그것을 또한 크게 감사 할 것이다. 나는 명확한 해결책에 도달하지 않고이 문제에 2 일 이상을 보냈다.
안녕 페드로. 대답에 +1. 이 문제에 대해 파이썬 코드를 쉽게 사용할 수 있다고 생각하십니까? –
그 짧은 대답은'lambda items, num_of_baskets : num_of_baskets ** items' 일 것입니다. 그러나 프로세스 자체의 일종의 시뮬레이션에 대해 생각하고 있는지 여부는 알 수 없습니다. –
필자는 make_sets 함수를 호출하고 튜플 목록의 목록을 반환하고자합니다. –