组合、多重循环、Σn²、Σn³

从6个数中取3个,有C(6,3)=6×5×4÷3!种情况。组合把123、132、231、213、312、321看作一种情况。

我们规定取数时,“后来者必须居上”,上述6个中就只有123一种合法。

我们可以sort后放进集合,但像冒泡排序那样的方法不仅更简单,而且更描述了取法:j从i+1开始,k从j+1开始。

我们还可以setFactory = SetFactory::getSetFactory(),再setFactory.createSet()

再看C(6,2),循环变为两重,i=1..n,j=2..n, sum=(n-1)+(n-2)+...+1,倒过来写就是Σn的求和公式。

请看下面的程序:

r = range; N = 6 + 1

sum = 0
for i in r(1, N):
  for j in r(i+1, N):
    for k in r(j+1, N): sum += 1
print(sum) # 20

def fn (i):
  sum = 0
  for j in r(i+1, N):
    for k in r(j+1, N): sum += 1
  return sum

c2 = lambda n: n * (n - 1) // 2

print(fn(1), fn(2), fn(3), fn(4)) # 10 6 3 1
print(c2(5), c2(4), c2(3), c2(2)) # 10 6 3 1

第一个球拿了1后,后面两个球的选择还比较多。拿了4后,后面就只能5、6了。内两层循环也是算组合数。

C(n,2) = (n² - n) / 2; Σn的已知。反复套这个方法,可得Σ(n的任意次方)的求和公式。有点像数学归纳法但不是。

数学归纳法在本例是:天上掉下来个求和公式,n=1时成立,如果n=k时成立,可容易证明n=k+1时也成立。

AI知道这个:

image

 image

image

 image

朱世杰恒等式可通过组合数加法公式(杨辉三角性质)递推证明,核心是 “裂项相消”。

朱世杰(约1249—约1314)被誉为 “中世纪世界最伟大的数学家之一”,与宋代的秦九韶、李冶、杨辉并称为 “宋元数学四大家”。


从4位数学家中取2位的组合数是多少?可分为包含和不包含朱世杰两种情况,然后求和。

posted @ 2025-10-31 19:25  华容道专家  阅读(4)  评论(0)    收藏  举报