二进制数的唯一排列

Laz*_*h13 0 algorithm permutation

我有一个二进制数,例如1010,我想知道该二进制数的唯一排列数.

例如,1010有6个独特的排列:

  • 0011
  • 0101
  • 1010
  • 0110
  • 1001
  • 1100

而1000有4个独特的排列:

  • 1000
  • 0100
  • 0010
  • 0001

那么,给定一个长度X为2 NX-N0 的二进制字符串,有多少个唯一的排列?

Kev*_*vin 5

你的问题等同于问题,"对于一个包含X元素的集合,它可以形成多少个不同的n元素子集?" 其中X元素集是"二进制字符串的索引",而n元素子集是"将被分配1的二进制字符串的索引".查看二项式系数的公式,答案是"X选择N",或者(X!) / (N! * (X-N)!)