找回密码
 立即注册
首页 业界区 安全 组合、多重循环、Σn²、Σn³

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

府扔影 5 天前
从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的求和公式。
请看下面的程序:
  1. r = range; N = 6 + 1
  2. sum = 0
  3. for i in r(1, N):
  4.   for j in r(i+1, N):
  5.     for k in r(j+1, N): sum += 1
  6. print(sum) # 20
  7. def fn (i):
  8.   sum = 0
  9.   for j in r(i+1, N):
  10.     for k in r(j+1, N): sum += 1
  11.   return sum
  12. c2 = lambda n: n * (n - 1) // 2
  13. print(fn(1), fn(2), fn(3), fn(4)) # 10 6 3 1
  14. 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=1时成立,如果n=k时成立,非常非常容易证明n=k+1时也成立。
反复套这个方法,可得Σn的任意次方的求和公式。AI知道这个:
1.png

 
2.png

3.png

 
4.png

朱世杰恒等式可通过组合数加法公式(杨辉三角性质)递推证明,核心是 “裂项相消”。
朱世杰(约1249—约1314)被誉为 “中世纪世界最伟大的数学家之一”,与宋代的秦九韶、李冶、杨辉并称为 “宋元数学四大家”。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

3 天前

举报

东西不错很实用谢谢分享
您需要登录后才可以回帖 登录 | 立即注册