请问,在Excel中怎么操作可以排列出由0,1,2,3,4,5,6,7,8,9,组成的10位数的排列组合啊?
2012-02-10
展开全部
10个数字的全排列共有10!=3628800个,组合就只有C(10,10)=1个。
如果要全部组合(就是从1位到10位都做组合),就有2^10-1=1023个结果。
由于组合没有顺序之分,所以可以人为地给出1个顺序,例如,要求第5个组合,我们先给10个数编号,号码分别为1~A,得到是1个2位数的组合,按编排是13;同理,第6个组合是123,......第1023个组合为123456789A。计算方法如下:
先将序号转换为2进制值,5的2进制值是101,从最高位起,位值为1的,用位的序号作为编号取代位值;位值为0的放弃。101第1位和第3位是1,其余是0,用位序号取代得到的编号组合就是13;同理,6的2进制值为110,取代结果就是12;1023的2进制值为1111111111,取代结果就是123456789A。
用宏处理比较简单,先做一个自定义函数Z(n,x),计算第n个组合的2进制值,返回其第x位,再用循环过程,计算x=1~10时,f=Z(n,x)*x的值,将非0的f值合并即可。
全排列和选排列用循环语句可以实现,但意义似乎不大。
如果要全部组合(就是从1位到10位都做组合),就有2^10-1=1023个结果。
由于组合没有顺序之分,所以可以人为地给出1个顺序,例如,要求第5个组合,我们先给10个数编号,号码分别为1~A,得到是1个2位数的组合,按编排是13;同理,第6个组合是123,......第1023个组合为123456789A。计算方法如下:
先将序号转换为2进制值,5的2进制值是101,从最高位起,位值为1的,用位的序号作为编号取代位值;位值为0的放弃。101第1位和第3位是1,其余是0,用位序号取代得到的编号组合就是13;同理,6的2进制值为110,取代结果就是12;1023的2进制值为1111111111,取代结果就是123456789A。
用宏处理比较简单,先做一个自定义函数Z(n,x),计算第n个组合的2进制值,返回其第x位,再用循环过程,计算x=1~10时,f=Z(n,x)*x的值,将非0的f值合并即可。
全排列和选排列用循环语句可以实现,但意义似乎不大。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询