永发信息网

求10个数中,随机抽取6个数的组合有多少种?用Delphi编程

答案:2  悬赏:70  手机版
解决时间 2021-03-21 02:28
求10个数中,随机抽取6个数的组合有多少种?用Delphi编程
最佳答案
你是要打印出这些数的组合还是仅仅要得出有多少种?如果是后者也就是要求排列组合公式中C6-4的值,那就写一个递归函数求出10的阶乘值,求出6的阶乘值,再求出(10 - 6)的阶乘值,套用公式就可以了 :)

参考代码如下:之所以返回值定义为Double,是因为阶乘的数值都较大,使用Integer存储不下:)
function GetFactorial(Value: Integer): Double;
begin
if (Value < 0) then
begin
Result:= -1;
end
else if (Value = 0) or (Value = 1) then
begin
Result:= 1;
end
else
begin
Result:= Value * GetFactorial(Value - 1);
end;
end;

function GetCombinationOfFormulas(Base, Value: Integer): Double;
begin
if (Base > 0) and (Value > 0) and (Base >= Value) then
begin
Result:= GetFactorial(Base) / (GetFactorial(Base - Value) * GetFactorial(Value));
end
else Result:= -1;
end;
全部回答
快排,从大到小 program hongweikai; var n,i:longint; a:array[1..400000] of longint; procedure kp(l,r:longint); var i,j,x,t:longint; begin i:=l; j:=r; x:=a[(l+r) div 2]; repeat while a[i]&gt;x do i:=i+1; while a[j]&lt;x do j:=j-1; if i&lt;=j then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; i:=i+1; j:=j-1; end; until i&gt;j; if i&lt;r then kp(i,r); if l&lt;j then kp(l,j); end; begin for i:=1 to 10 do read(a[i]); kp(1,10); for i:=1 to 10 do write(a[i],' '); end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三苕甲鱼我想知道这个在什么地方
伊犁火立方在哪里,我在东站
淮南供电公司 变电站 多少座
雨萱鲜花这个地址在什么地方,我要处理点事
开盘啦软件 里面的夹是什么意思
苏州哪些药店里卖有避孕药呀?
2.5英寸4t可移动硬盘真实可用容量是多少
饭厅英语怎么说
oracle expdp怎么异地导出
强记肉圆店地址在什么地方,想过去办事
朋友送了一盒水果,说是什么菩提果,是打开直
什么春什么
您好!我如果坐飞机到福州,飞机场到永泰云顶
我梦见我和妹妹在河边玩,突然洪水泛滥,我就
海尔ls55al88u71怎么看它的配置
推荐资讯
我魅族3充不上电 原装充电器
美国为什么是生产力最高最有效率的国家
三十岁以后的女人真的就胖了瘦不下来吗
三方协议是什么鬼东西?有什么用?
我哥犯诈骗未遂5000元,已经关了1个多月了,
win7 用虚拟机vm运行ubuntu,里面运行Qt,请
急需要钱来创业,,打工有什么来钱快
建筑物的火灾危险类别怎么划分?23.3米高,6
2010年4月,日本广岛大学高分子材料科研小组
国内排名前十的外国语大学是那几所?
单选题列宁说:“把世界历史设想成一帆风顺的
青田县小学成绩查询
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?