阶乘函数
时间: 2025-05-26 17:31:26 浏览: 24
### 阶乘函数的数学定义与实现
#### 数学定义
阶乘是一种常见的数学运算,表示为 \( n! \),其中 \( n \) 是一个非负整数。其定义为从 1 到 \( n \) 所有连续正整数的乘积[^1]。特别地,当 \( n = 0 \) 时,规定 \( 0! = 1 \)[^2]。
#### Python 中的阶乘函数实现
Python 提供了多种方式来计算阶乘,以下是两种常见的方式:
##### 方法一:使用 `math` 模块
Python 的标准库中已经内置了一个用于计算阶乘的模块——`math.factorial()`。这是一个高效且可靠的实现方法。
```python
import math
result = math.factorial(5)
print(result) # 输出: 120
```
##### 方法二:自定义递归函数
通过编写递归函数也可以轻松实现阶乘功能。递归的核心在于找到终止条件以及递推关系[^3]。
```python
def factorial_recursive(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial_recursive(n - 1)
result = factorial_recursive(5)
print(result) # 输出: 120
```
##### 方法三:基于迭代的方法
除了递归外,还可以采用循环的方式来实现阶乘计算,这种方法通常更加直观并能有效避免栈溢出问题[^4]。
```python
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
result = factorial_iterative(5)
print(result) # 输出: 120
```
#### C++ 中的阶乘函数实现
如果考虑其他编程语言,比如 C++,同样可以通过简单的循环结构完成阶乘的计算[^4]。
```cpp
#include <iostream>
using namespace std;
long long factorial(int n) {
long long result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int n;
cout << "请输入一个正整数: ";
cin >> n;
if (n >= 0) {
cout << n << "! = " << factorial(n) << endl;
} else {
cout << "输入有误" << endl;
}
return 0;
}
```
以上展示了不同语言下阶乘函数的具体实现及其背后的逻辑原理。
阅读全文
相关推荐




















