怎样通过排列组合算法求数字和?

如题所述

参考:
一、将这若干个数放在一行的若干个单元格,称为基准行。
二、从下一行开始,每一格填入一个数字,数字代表基准行中的数字的位置。
将所有表情况罗列出来。
三、在第一行的右侧,使用公式,由数字的位置转求数字的和。
四、指定一个数,在所求的和值的列表中找到与之相近的,从而找到相应的数的组合。

2020.5.14补充:
以11个数为例(其中包括了少于11个数的情况,在excel2003中几乎支持16个数的所有情况,几乎支持256个数的部分情况(我开始时没考虑太多,表头和说明占用了一些区域,还可以改进使之支持更多;当然,要是excel没有这些限制就好了);
在excel2007以上的版本中,几乎支持20个数的所有情况,支持16384个数的部分情况)

其中说明文字和公式摘录如下:
A4开始的一列:以下是依序数的二进制数位,当数位为1则参与加法,C4中的公式(选中A4向下填充。)=SUMPRODUCT(OFFSET(C4:IV4,0,0,1,$C$1),OFFSET(C$2:IV$2,0,0,1,$C$1))
数组中数的总个数C1中的公式
=COUNTA(C$2:IV$2)=COUNTA(C2:IV2)
数组中的数字取值C2:IV2依次分别为:...
取值情况编号↓(注:编号从1开始累增,直到取值情况的排列总数=2^C1-1)

C4开始向右的行,及下方的行:
以下各行是将行号Row转化为二进制数的最低位到最高位,C4的公式是=MOD(INT($B4/2^(COLUMN(A1)-1)),2)

,选中C4向右填充及向下填充。
此表尚待优化。供参考。



温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-28

排列的定义及其计算公式:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)! 此外规定0!=1

排列组合

组合的定义及其计算公式:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。C(n,m)=A(n,m)∧2/m!=A(n,m)/m!;  C(n,m)=C(n,n-m)。(其中n≥m)

其他排列与组合公式 从n个元素中取出m个元素的循环排列数=A(n,m)/m=n!/m(n-m)!. n个元素被分成k类,每类的个数分别是n1,n2,...nk这n个元素的全排列数为 n!/(n1!×n2!×...×nk!). k类元素,每类的个数无限,从中取出m个元素的组合数为C(m+k-1,m)。

扩展资料

1、加法原理:做一件事,完成它可以有n类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+m3+…+mn种不同方法。

⒉、第一类办法的方法属于集合A1,第二类办法的方法属于集合A2,……,第n类办法的方法属于集合An,那么完成这件事的方法属于集合A1UA2U…UAn。

⒊、分类的要求 :每一类中的每一种方法都可以独立地完成此任务;两类不同办法中的具体方法,互不相同(即分类不重);完成此任务的任何一种方法,都属于某一类(即分类不漏)。

⑵乘法原理和分步计数法

⒈、 乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法,那么完成这件事共有N=m1×m2×m3×…×mn种不同的方法。

⒉、合理分步的要求

任何一步的一种方法都不能完成此任务,必须且只须连续完成这n步才能完成此任务;各步计数相互独立;只要有一步中所采取的方法不同,则对应的完成此事的方法也不同。

参考资料:排列组合的百度百科

本回答被网友采纳
相似回答