주어진 뒤집기 횟수에서 특정 수의 앞면과 뒷면의 모든 조합 찾기

user2328273

나는 지금 10을 내 테스트 케이스로 사용하여 주어진 동전 던지기의 가능한 모든 조합을 계산하려고합니다. 나는 그것이 데카르트 곱이라고 믿지만 내가 가진 마지막 수학 수업은 오래 전이었습니다. 그러나 문제는 가장 가능성있는 분포를 먼저 계산하고 싶다는 것입니다. 이것은 내가 시작하는 코드입니다.

import itertools
for x in itertools.product(['H','T'],repeat=10):
    print(x)

이것은 10 개의 동전 던지기의 가능한 모든 조합을 제공 할 것입니다. 그러나 첫 번째 결과는 모두 앞면이며 가능성은 거의 없습니다. 내 생각은 균등 한 분포, 5 개의 앞면과 5 개의 뒷면의 모든 조합으로 시작하여 4 개의 앞면과 6 개의 뒷면 (더하기 역), 3 개의 앞면과 7 개의 뒷면 (더하기 역) 등으로 계속하는 것입니다. 그러나, itertools 또는 다른 내장 모듈 또는 모듈 조합으로이 작업을 수행 할 수 있는지 잘 모르겠습니다.

이것을 사용하는 경우 :

import itertools
for x in itertools.permutations(['H','H','H','H','H','T','T','T','T','T']):
    print(x)

각 'H'와 'T'를 고유 한 것으로 간주하기 때문에 많은 반복이 있습니다. 이 문제를 해결하는 방법에 대한 제안이 있습니까?

크리스 찰리

가져온 multiset_permutations에서 . 252 개의 순열을 계산합니다. (10! / 5! / 5!)

>>> from sympy.utilities.iterables import multiset_permutations
>>> for item in multiset_permutations(['H','H','H','H','H','T','T','T','T','T']):
    print(item)

['H', 'H', 'H', 'H', 'H', 'T', 'T', 'T', 'T', 'T']
['H', 'H', 'H', 'H', 'T', 'H', 'T', 'T', 'T', 'T']
['H', 'H', 'H', 'H', 'T', 'T', 'H', 'T', 'T', 'T']
['H', 'H', 'H', 'H', 'T', 'T', 'T', 'H', 'T', 'T']
['H', 'H', 'H', 'H', 'T', 'T', 'T', 'T', 'H', 'T']
['H', 'H', 'H', 'H', 'T', 'T', 'T', 'T', 'T', 'H']
['H', 'H', 'H', 'T', 'H', 'H', 'T', 'T', 'T', 'T']
['H', 'H', 'H', 'T', 'H', 'T', 'H', 'T', 'T', 'T']
['H', 'H', 'H', 'T', 'H', 'T', 'T', 'H', 'T', 'T']
['H', 'H', 'H', 'T', 'H', 'T', 'T', 'T', 'H', 'T']
['H', 'H', 'H', 'T', 'H', 'T', 'T', 'T', 'T', 'H']
['H', 'H', 'H', 'T', 'T', 'H', 'H', 'T', 'T', 'T']
['H', 'H', 'H', 'T', 'T', 'H', 'T', 'H', 'T', 'T']
['H', 'H', 'H', 'T', 'T', 'H', 'T', 'T', 'H', 'T']
['H', 'H', 'H', 'T', 'T', 'H', 'T', 'T', 'T', 'H']
...
['T', 'T', 'T', 'H', 'H', 'T', 'H', 'T', 'H', 'H']
['T', 'T', 'T', 'H', 'H', 'T', 'T', 'H', 'H', 'H']
['T', 'T', 'T', 'H', 'T', 'H', 'H', 'H', 'H', 'T']
['T', 'T', 'T', 'H', 'T', 'H', 'H', 'H', 'T', 'H']
['T', 'T', 'T', 'H', 'T', 'H', 'H', 'T', 'H', 'H']
['T', 'T', 'T', 'H', 'T', 'H', 'T', 'H', 'H', 'H']
['T', 'T', 'T', 'H', 'T', 'T', 'H', 'H', 'H', 'H']
['T', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'H', 'T']
['T', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'T', 'H']
['T', 'T', 'T', 'T', 'H', 'H', 'H', 'T', 'H', 'H']
['T', 'T', 'T', 'T', 'H', 'H', 'T', 'H', 'H', 'H']
['T', 'T', 'T', 'T', 'H', 'T', 'H', 'H', 'H', 'H']
['T', 'T', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'H']

편집 : OP는 이것이 일부 경우 재귀 제한을 초과 할 수 있다고 언급했습니다. 다음은 몇 가지 계산이며 실제로 multiset_permutation에 대한 항목 수는 상당히 커질 수 있습니다. 세트의 크기를 알아야 할 것 같습니다.

>>> from math import comb
>>> '{:,}'.format(comb(50,25))
'126,410,606,437,752'
>>> '{:,}'.format(comb(20,10))
'184,756'
>>> '{:,}'.format(comb(10,5))
'252'

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

javaScript-주어진 정수의 모든 제수 합계 찾기

분류에서Dev

주어진 과정에 대한 모든 전제 조건 찾기

분류에서Dev

Java에서 주어진 배열의 가능한 모든 조합 찾기

분류에서Dev

주어진 합계와 같은 양수와 음수의 가능한 모든 조합 찾기

분류에서Dev

문자열에서 특정 문자 집합 뒤의 값 찾기

분류에서Dev

모든 항목의 합계가 주어진 정수와 같은 배열 내부의 모든 조합 가져 오기

분류에서Dev

주어진 문장에서 특정 기호의 모든 발생 색상 변경

분류에서Dev

주어진 정수 목록의 고유 하위 집합 목록 찾기

분류에서Dev

python-앞면 수 = 뒷면 수일 때 멈추는 무한 동전 뒤집기

분류에서Dev

주어진 평균 범위에 도달하기 위해 고정 된 크기의 모든 고유 한 조합을 찾습니다.

분류에서Dev

주어진 숫자에 대해 두 숫자의 가능한 모든 조합 / 분할 찾기

분류에서Dev

주어진 숫자에서 모든 숫자의 곱 찾기

분류에서Dev

화면 크기 조정에서 수평 Li의 모든 내용을 어떻게 이동할 수 있습니까?

분류에서Dev

자바-문자열에서 주어진 단어 앞뒤의 단어 찾기

분류에서Dev

개체에서 특정 값의 발생 횟수 찾기-Typescript

분류에서Dev

Python-특정 단어 뒤의 정수 찾기 및 곱하기

분류에서Dev

jq를 사용하여 값이 주어진 기준과 일치하는 JSON 객체의 모든 경로를 찾으려면 어떻게해야합니까?

분류에서Dev

Java에서 크기 n의 주어진 정수 배열에 r 요소의 가능한 모든 순열을 인쇄합니다.

분류에서Dev

JS에서 주어진 패턴과 일치하는 가능한 모든 문자열 조합 찾기

분류에서Dev

Sympy-특정 수준의 모든 표현 찾기

분류에서Dev

백 슬래시 뒤와 특정 파일 확장자 앞의 모든 항목과 일치하는 Perl 정규식을 어떻게 수행합니까?

분류에서Dev

주어진 배열과 하위 배열의 가능한 모든 순열 찾기

분류에서Dev

JavaFX는 어떻게 버튼으로 테이블보기에서 모든 값과 특정 컬럼의 합계를 얻으려면?

분류에서Dev

unorder_set에서 주어진 크기 k의 모든 부분 집합을 얻습니까?

분류에서Dev

unorder_set에서 주어진 크기 k의 모든 부분 집합을 얻습니까?

분류에서Dev

특정 수의 열에서 행의 모든 데이터를 복사하려면 어떻게합니까?

분류에서Dev

2 개 열에서 주어진 값 목록의 모든 조합을 기반으로 한 R 데이터 테이블 고유 레코드 수

분류에서Dev

주어진 합계에 도달하기 위해 주어진 숫자의 가능한 모든 조합을 가져옵니다.

분류에서Dev

PySpark에서 주어진주의 행 수 찾기

Related 관련 기사

  1. 1

    javaScript-주어진 정수의 모든 제수 합계 찾기

  2. 2

    주어진 과정에 대한 모든 전제 조건 찾기

  3. 3

    Java에서 주어진 배열의 가능한 모든 조합 찾기

  4. 4

    주어진 합계와 같은 양수와 음수의 가능한 모든 조합 찾기

  5. 5

    문자열에서 특정 문자 집합 뒤의 값 찾기

  6. 6

    모든 항목의 합계가 주어진 정수와 같은 배열 내부의 모든 조합 가져 오기

  7. 7

    주어진 문장에서 특정 기호의 모든 발생 색상 변경

  8. 8

    주어진 정수 목록의 고유 하위 집합 목록 찾기

  9. 9

    python-앞면 수 = 뒷면 수일 때 멈추는 무한 동전 뒤집기

  10. 10

    주어진 평균 범위에 도달하기 위해 고정 된 크기의 모든 고유 한 조합을 찾습니다.

  11. 11

    주어진 숫자에 대해 두 숫자의 가능한 모든 조합 / 분할 찾기

  12. 12

    주어진 숫자에서 모든 숫자의 곱 찾기

  13. 13

    화면 크기 조정에서 수평 Li의 모든 내용을 어떻게 이동할 수 있습니까?

  14. 14

    자바-문자열에서 주어진 단어 앞뒤의 단어 찾기

  15. 15

    개체에서 특정 값의 발생 횟수 찾기-Typescript

  16. 16

    Python-특정 단어 뒤의 정수 찾기 및 곱하기

  17. 17

    jq를 사용하여 값이 주어진 기준과 일치하는 JSON 객체의 모든 경로를 찾으려면 어떻게해야합니까?

  18. 18

    Java에서 크기 n의 주어진 정수 배열에 r 요소의 가능한 모든 순열을 인쇄합니다.

  19. 19

    JS에서 주어진 패턴과 일치하는 가능한 모든 문자열 조합 찾기

  20. 20

    Sympy-특정 수준의 모든 표현 찾기

  21. 21

    백 슬래시 뒤와 특정 파일 확장자 앞의 모든 항목과 일치하는 Perl 정규식을 어떻게 수행합니까?

  22. 22

    주어진 배열과 하위 배열의 가능한 모든 순열 찾기

  23. 23

    JavaFX는 어떻게 버튼으로 테이블보기에서 모든 값과 특정 컬럼의 합계를 얻으려면?

  24. 24

    unorder_set에서 주어진 크기 k의 모든 부분 집합을 얻습니까?

  25. 25

    unorder_set에서 주어진 크기 k의 모든 부분 집합을 얻습니까?

  26. 26

    특정 수의 열에서 행의 모든 데이터를 복사하려면 어떻게합니까?

  27. 27

    2 개 열에서 주어진 값 목록의 모든 조합을 기반으로 한 R 데이터 테이블 고유 레코드 수

  28. 28

    주어진 합계에 도달하기 위해 주어진 숫자의 가능한 모든 조합을 가져옵니다.

  29. 29

    PySpark에서 주어진주의 행 수 찾기

뜨겁다태그

보관