用数学方法实现排列算法

我曾经写过一篇用递归和循环来实现排列算法的文章。那篇文章的代码比较复杂,其实我们仅仅是想知道排列有几种结果的话,用数学公式的原理来实现会简单许多。

数学公式如下:


其中阶乘可以用递归来实现,整体代码如下:

function A(n, m) {
  return f(n) / f(n - m);
}
function f(num) {
  if (num <= 1) {
    return 1;
  }
  return num * f(num - 1);
}


猜你喜欢

转载自blog.csdn.net/handsome_fan/article/details/79363357
今日推荐