같은 것을 포함하는 원순열 그 4

같은 것을 포함하는 원순열 그 4



마지막으로 일반화하여 모든 경우에 확실히 확인할 수 있도록 코드화합니다.

일반화



토모타 카츠히사 씨가 정리하고 있는 것을 참고로 했습니다.
h tp // w w. 오사카 굉장히. 아 c. jp / ~ Moda k / Repo rt / Junret 2012. pdf

$S_1,\,S_2,\,\cdots,\,S_m$의 $m$ 종류의 구가 각각 $n_1,\,n_2,\,\cdots,\, n_m$개의 구가 만드는 원순열의 총수 를 $f(n_1,\,\cdots,\,n_m)$로 나타내면,

$$f(n_1,\,\cdots,\,n_m)=\frac1N\sum_{k|l}\phi(k)\frac{\left(\frac{N}k\right)!}{\left (\frac{n_1}k\right)!\left(\frac{n_2}k\right)!\cdots\left(\frac{n_m}k\right)!}$$
  • $l=GCM(n_1,\,\cdots,\,n_m)$, $N=n_1+n_2+\cdots+n_m$입니다.
  • $\sum_{k|l}$는 $l$의 양의 약수인 $k$로 합산됩니다.
  • $\phi(k)$ 는 오일러(Euler)의 함수로, $k$ 이하에서 $k$와 서로 소의 자연수의 개수를 돌려줍니다.

  • 코딩



    Jupiter notebook에서 Wolfram Engine을 사용할 수 있게 되었으므로 Mathematica로 만들어 보겠습니다. 수학 함수가 많이 있기 때문에, 확실히 할 수 있을 것 같습니다.
    f[a_]:=1/(Total[a]) Sum[EulerPhi[k] Multinomial@@(a/k),{k,Divisors@(GCD@@a)}]
    
    a는 목록입니다. 이런 식으로 함수를 정의하면 이전에 소개한 것과 동일한 것을 포함하는 순열은 다음과 같이 요청됩니다.
    f[{4,4}]
    f[{4,6}]
    f[{2,3,4}]
    f[{3,3,3}]
    

    이런 느낌에 잇달아 구할 수 있습니다!



    이제 학생들에게 똑같은 것을 포함하는 순열 질문이 와도 괜찮습니다!

    좋은 웹페이지 즐겨찾기