Skip to main content

阶乘计算器 计算任意数字的阶乘(n!)及其位数和展开式。

阶乘计算器 illustration
🔢

阶乘计算器

计算任意数字的阶乘(n!)及其位数和展开式。

1

输入一个数字

输入一个非负整数(最多1000)来计算其阶乘。

2

查看结果

显示n!的完整结果,以及结果中的总位数。

3

检查展开式

对于较小的数字,查看完整的乘法展开式(例如,5!= 5 × 4 × 3 × 2 × 1 = 120)。

Loading tool...

What Is 阶乘计算器?

非负整数n的阶乘,记为n!,是从1到n所有正整数的乘积。例如,5!= 5 × 4 × 3 × 2 × 1 = 120。按照惯例,0!= 1(空乘积)。阶乘增长非常迅速 -- 20!已经超过2.4万亿,100!有158位数字。阶乘是计数排列(置换)和选择(组合)的基础,在概率论、泰勒级数展开式中,如e^x和sin(x),以及算法分析中都非常重要。本计算器使用BigInt算术来计算最多1000!的精确阶乘,产生成千上万位数字的结果,而无需任何舍入或近似。同时,它还显示了位数,并为较小的值提供完整的乘法展开式,以供教育参考。

Why Use 阶乘计算器?

  • 使用BigInt精度计算最多1000!的确切阶乘
  • 显示结果中的总位数
  • 用于学习的乘法展开式
  • 无溢出问题--超越标准数字限制
  • 即使对于非常大的阶乘,也能瞬间计算

Common Use Cases

组合数学

计算涉及阶乘表达式的排列和组合。

概率论

计算涉及安排的概率,例如生日问题或彩票赔率。

数学教育

演示阶乘如何快速增长,并验证作业答案。

算法分析

了解O(n!)算法在计算机科学中的规模。

Technical Guide

阶乘函数是递归定义的,即n!= n × (n−1)!,其中0!= 1作为基准情况。本计算器使用JavaScript BigInt的迭代方法来避免堆栈溢出并保持精确的整数精度。BigInt允许任意大的整数,因此1000!(有2,568位数字)是精确计算的,而无需浮点舍入。计算是一个简单的循环:从结果 = 1开始,并将其乘以从2到n的每个整数。时间复杂度为O(n)次乘法,但是每次乘法都涉及越来越大的数字,因此实际时间增长得更快。在实践中。斯特林近似(n!≈√(2πn) × (n/e)^n)可以估计阶乘的大小:n!中的位数约为n×log10(n/e) + 0.5×log10(2πn)。计算器限制输入在1000以内,以保持合理的浏览器性能,尽管BigInt理论上可以处理更大的值。

Tips & Best Practices

  • 1
    0!= 1是由定义(空积约定)
  • 2
    阶乘增长非常快--20!已经超过2个五万亿
  • 3
    n!的位数大约为n×log₁₀(n) − n×log₁₀(e) + 0.5×log₁₀(2πn)
  • 4
    阶乘仅定义为非负整数;Gamma函数推广到所有数字
  • 5
    对于组合,您可以在乘法之前取消阶乘以保持可管理的数量

Related Tools

Frequently Asked Questions

Q 为什么0!等于1?
按照数学惯例,空集的乘积为1(乘法单位)。这使得涉及阶乘的公式工作正确,例如C(n,0) = n!/0!n! = 1。
Q 输入可以多大?
此计算器支持最多1000的输入。1000!的结果有2,568位数字,并使用BigInt算术瞬间计算。
Q 阶乘是否定义为负数?
不,阶乘函数仅定义为非负整数。Gamma函数Γ(n) = (n−1)!扩展概念到非整数和负非整数。
Q 为什么阶乘增长如此之快?
每一步都将数字乘以越来越大的一个数字。虽然10!= 3,628,800,但仅增加10个就得到20!= 2,432,902,008,176,640,000。这一超指数级的增长使n!最终大于任何指数函数。
Q 阶乘有什么用途?
阶乘计算n个对象的排列方式(排列)。它们出现在概率论、组合数学、Taylor级数和算法分析中。

About This Tool

阶乘计算器 is a free online tool by FreeToolkit.ai. All processing happens directly in your browser — your data never leaves your device. No registration or installation required.