计算输入的一个正整数的阶乘
时间: 2024-09-12 11:10:33 浏览: 41
编程Java求任意一个正整数的阶乘.doc
计算一个正整数的阶乘,是指将这个数与它下面所有的正整数相乘。例如,5的阶乘(记作5!)就是5 × 4 × 3 × 2 × 1 = 120。通常用递归或迭代的方法来计算阶乘。以下是使用迭代方法计算阶乘的一个简单示例:
```python
def factorial(n):
if n < 0:
return "输入的数不能为负"
elif n == 0 or n == 1:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
# 示例:计算5的阶乘
print(factorial(5)) # 输出结果为120
```
递归方法的实现如下:
```python
def factorial_recursive(n):
if n < 0:
return "输入的数不能为负"
elif n == 0 or n == 1:
return 1
else:
return n * factorial_recursive(n - 1)
# 示例:计算5的阶乘
print(factorial_recursive(5)) # 输出结果为120
```
在实际编程中,需要注意的是,当输入的正整数较大时,阶乘结果会非常大,可能会超出计算机语言中整数类型的存储范围。此时,可能需要使用特殊的库来处理大数,或者使用数组等方式来存储每一位的计算结果。
阅读全文