全站数据
8 4 2 0 5 8 1

m个数中取n个数的排列公式

公务员指南 | 教育先行,筑梦人生!         
问题更新日期:2024-11-18 22:22:43

问题描述

m个数中取n个数的排列公式,麻烦给回复
精选答案
最佳答案

C(m,n) = m*(m-1) * (m-2) * ... *(m-n+1)/(1*2*3*...*n)

整数数组的前m个直接存下来。

用一个计数器

保存当前正在处理的请求是第几个,比如n,对于从m+1开始的新请求,以m的概率选择保存,并同从已保存的m个请求中随机选出的一个进行交换。

比如这N个数为[4 2 6 8 10 3]要从中选m=4个数

a=[4 2 6 8 10 3];m=4;

b=a(randperm(length(a)));

b=b(1:m)

其他回答

解从m个数中取n个数的排列公式如下。

A(m,n)=m×(m一1)x(m一2)x……………x(m一n十1)。

(1)

A(m,n)还可以用阶乘来表示如下,

A(m,n)=m!/(m一n)!(2这是∵由(1)式

A(m,n)=m(m一1)(m一2)……(m一n+1)

=m(m一1)……(m一n+1)(m一n)……×2×1/(m一n)……x2x1

=m!/(m一n)!