那位会排列组合???

Delphi_Li 2003-02-24 09:37:25
高人,把C(n,m)的计算公式写一下!!!

n在上,m在下!!!
...全文
117 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoqingpeng 2003-02-24
  • 打赏
  • 举报
回复
//////m(m-1)...(m-n+1)/n!
function Combination(n,m: Word): Double;
var
i: Word;
x,y: Double;
begin
Result := 0;
if n > m then Exit;
x := 1;
y := 1;
for i := 1 to n do
begin
x := x*(m-i+1);
y := y*i;
end;
Result := x/y;
end;
Delphi_Li 2003-02-24
  • 打赏
  • 举报
回复
To goomoo(古木) 好像因该是m(m-1)...(m-n+1)/(m-n)!!!

To idilent(说错了别怪我) 你的公式好像也不正确!!!

不过谢谢两位!!!
hydonlee 2003-02-24
  • 打赏
  • 举报
回复
C(n, m)
= P(n, m) / P(m, m)
= n * (n-1) * ... * (n-m+1) / m!
goomoo 2003-02-24
  • 打赏
  • 举报
回复
或者是:
m!/(n!(m-n)!)

用阶乘算法就可以了。
idilent 2003-02-24
  • 打赏
  • 举报
回复
var i,y,x:integer;
begin
x:=1;
for I:=n downto m do
x:=x*(I-1)
for I:=1 to m do
y:=y*i;
result:=x/y;
end;
goomoo 2003-02-24
  • 打赏
  • 举报
回复
上面错了,应该是:
m(m-1)...(m-n+1)/n!
idilent 2003-02-24
  • 打赏
  • 举报
回复
var i,y,x:integer;
begin
x:=1;
for I:=n downto m do
x:=x*(I-1)
for I:=0 to m do
y:=y*i;
result:=x/y;
end;
goomoo 2003-02-24
  • 打赏
  • 举报
回复
m(m-1)…(n-m+1)/n!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧