什么是阶乘?如何通过示例计算阶乘

阶乘是您这样编写的数学运算:n!. 它表示 1 和 n 之间所有数字的乘积。

因此,如果您有3!,例如,您将计算 3 x 2 x 1(其中 = 6)。让我们看看它是如何与更多示例一起工作的。

阶乘的定义

一个数的阶乘是 1 和该数本身之间的所有数的乘积。它是这样写的:n!。所以 2 的阶乘是2!(= 1 × 2)。

要计算阶乘,您需要知道两件事:

  1. 0! = 1
  2. n! = (n - 1)! × n

0 的阶乘值为 1,一个数的阶乘n等于该数n与 的阶乘的乘积n-1

例如,5!等于4! × 5

这里的前几个阶乘值可以让您了解它是如何工作的:

阶乘乘法结果
0!11
1!11
2!1×22
3!1×2×36
4!1×2×3×424
5!1×2×3×4×5120
6!1×2×3×4×5×6720
7!1×2×3×4×5×6×75040
8!1×2×3×4×5×6×7×840,320
9!1×2×3×4×5×6×7×8×9362,880

阶乘用于什么?

实际上,阶乘是您可以对n项目进行的不同排列的数量:3 个项目可以以 6 种不同的方式排列(表示为3!)。

例如,让我们看看您可以对三个项目 A、B 和 C 进行的所有安排:

ABC
ACB
BAC
BCA
CAB
CBA

而事实上,3! = 6.

如何计算 0 的阶乘

从这个角度来看阶乘,0的阶乘是什么?

那么,你可以用多少种不同的方式来排列 0 个元素?

排列零元素只有一种方法。这就产生了一系列零元素。

阶乘用例

当您遇到与可能安排的数量有关的问题时,通常会使用阶乘。让我们看一些示例问题。

阶乘例题1:单词“camper”中的字母

你有多少种不同的方式来排列单词的字母camper

这个词camper有 6 个字母,所以可能的排列数由 6: 的阶乘给出6! = 6 × 5 × 4 × 3 × 2 × 1 = 720。那将是一个相当大数量的手工找到的安排,不是吗?

阶乘例题2:从袋子里画彩球

假设一个袋子里有三个球——一个绿色、一个蓝色和一个黄色。

如果你按顺序抽三个球,你有什么机会先得到黄色,第二个绿色,最后一个蓝色?

也许现在你想知道机会与阶乘有什么关系——好吧,一会儿你就会看到。

有 6 种可能的抽球顺序:3!= 6。

获得黄-绿-蓝序列的可能性总数有 1 的机会,因此这是1/(3!)1/616.7%有机会获得所需的结果。

如何使用 JavaScript 以编程方式计算阶乘

在 JavaScript 中以编程方式计算阶乘有两种方法:

如何使用递归计算 JS 中的阶乘

让我们回到计算阶乘时要知道的两件事——即0! = 1n! = (n - 1)! × n。我们可以使用第一个来创建递归函数的基本情况,因为在这种情况下我们已经知道结果。

function factorial(n) {
  if (n === 0) {
      return 1;
  }
}

关于如何计算阶乘的第二件事n! = (n - 1)! × n可以是递归情况。

function factorial(n) {
    if (n === 0) {
        return 1;
    } else {
        return factorial(n-1) * n;
    }
}

如何使用 JavaScriptwhile循环计算阶乘

我们之前说过0! = 1。因此,要使用循环计算数字的阶乘,我们可以将变量初始化为1,然后将数字 from 乘以循环n1的变量。

这样,如果输入高于 1,输出很容易为 1。

function factorial(n) {
    let result = 1;
    for (n > 1) {
        result *= n;
        n--;
    }
    return result;
}
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农六六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值