Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 刘苏

[已解决]求1到100之间的所有整数和

[复制链接]
发表于 2014-10-7 21:08 | 显示全部楼层
刘苏 发表于 2014-10-7 21:05
可以~ 真棒

我是闪闪,哈哈。。来潜水,来冒泡。
回复

使用道具 举报

发表于 2014-10-7 21:19 | 显示全部楼层
回复

使用道具 举报

发表于 2014-10-7 22:17 | 显示全部楼层
Σ1-100=Combin(n+1,2)

一、组合函数计算原理解析:
101 和 100-1组合,有100个
100 和   99-1组合,有 99个
  99 和   98-1组合,有 98个
…………
   4  和   3-1组合,有 3个
   3  和   2-1组合,有 2个
   2  和      1组合,有 1个

所以,101-2 各自的组合相加=100+99+……+3+2+1

…………
二、组合函数计算原理暗合高斯梯形面积公式
Combin(n+1,2)= (n+1)*n / 2


所以,用组合公式求Σ和,是正确的,不是偶然的巧合。呵呵。

回复

使用道具 举报

发表于 2014-10-8 09:38 | 显示全部楼层
在组合里面:
Combin(n+1,m+1)=Combin(n,m+1)+Combin(n,m)
所以:
Combin(101,2)=Combin(100,2)+Combin(100,1)=Combin(99,2)+Combin(99,1)+Combin(100,1)=……=Combin(1,1)+Combin(2,1)+……+Combin(100,1)
又:
Combin(n,1)=n
于是有:
Combin(101,2)=1+2+3+……+100
回复

使用道具 举报

发表于 2014-10-8 16:44 | 显示全部楼层
想起小学三角形面积公式了~^^
回复

使用道具 举报

发表于 2014-10-8 16:56 | 显示全部楼层
cleverzhzhf 发表于 2014-10-8 09:38
在组合里面:
Combin(n+1,m+1)=Combin(n,m+1)+Combin(n,m)
所以:

证明 Combin(n+1,m+1)=Combin(n,m+1)+Combin(n,m)


① Combin(n+1,m+1)= (n+1)*n*……*[n+1-(m+1)+1] / (m+1)*m*……*1
                                  = (n+1)*n*……*(n-m+1)/ (m+1)*m*……*1

② Combin(n,m+1) = n*……*(n-m+1) *[n-(m+1)+1] / (m+1)*m*……*1

③ Combin(n,m) = n*……*[n-m+1] / m*……*1
                          = (m+1)* n*……*[n-m+1] /(m+1)* m*……*1

计算:
②+③=n*……*(n-m+1) *[n-(m+1)+1] / (m+1)*m*……*1 + (m+1)* n*……*[n-m+1] / (m+1)* m*……*1
         = [n-(m+1)+1 + (m+1)]*n*……*(n-m+1) / (m+1)* m*……*1
         = [n+1]*n*……*(n-m+1) / (m+1)* m*……*1  ……  到这里已经=①。


…………
呵呵。

         


回复

使用道具 举报

发表于 2014-10-8 17:11 | 显示全部楼层
香川群子 发表于 2014-10-8 16:56
证明 Combin(n+1,m+1)=Combin(n,m+1)+Combin(n,m)

老师你好,冒昧问一下,VBA你学了多少年,才有这样水平?
回复

使用道具 举报

发表于 2014-10-8 17:22 | 显示全部楼层
cleverzhzhf 发表于 2014-10-8 09:38
在组合里面:
Combin(n+1,m+1)=Combin(n,m+1)+Combin(n,m)
所以:

分解有个小错误,最后不是:
=Combin(1,1)+Combin(2,1)+……+Combin(100,1)

而应该是:
=Combin(2,2)+Combin(2,1)+……+Combin(100,1)

因为,Combin(3,2)=Combin(2,2)+Combin(2,1)

Combin(2,2) 已经无法再分解了。



回复

使用道具 举报

发表于 2014-10-9 09:00 | 显示全部楼层
香川群子 发表于 2014-10-8 17:22
分解有个小错误,最后不是:
=Combin(1,1)+Combin(2,1)+……+Combin(100,1)

感谢指正,没注意这个小细节。算误打误撞,恰好Combin(2,2)=Combin(1,1),于是结果一致了~
回复

使用道具 举报

发表于 2014-10-9 16:04 | 显示全部楼层
cleverzhzhf 发表于 2014-10-9 09:00
感谢指正,没注意这个小细节。算误打误撞,恰好Combin(2,2)=Combin(1,1),于是结果一致了~

Combin(n+1,m+1) = Combin(n,m+1) + Combin(n,m)


Combin(n+1,m) = Combin(n,m) + Combin(n,m-1)*Combin(1,1)

可以这么理解:
在n个元素中抽取m个数的组合总数=Combin(n,m)
然后,在这n个元素中抽取m-1个数、【组合总数=Combin(n,m-1)】并加上第n+1个数【=Combin(1,1) 】仍得到m个数,
因此这部分的组合总数=Combin(n,m-1)*Combin(1,1) =Combin(n,m-1)

这样就得到了n+1个数中抽取m个数的组合=Combin(n+1,m)

所以、Combin(n+1,m) = Combin(n,m) + Combin(n,m-1)*Combin(1,1)  蓝色部分=1被略去。

  



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 08:46 , Processed in 0.245943 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表