求n!n为正整数的非递归算法用输入输出
时间: 2024-09-23 14:08:51 浏览: 52
Java算法之递归算法计算阶乘
5星 · 资源好评率100%
计算阶乘(n!)的一种常见非递归算法是使用循环迭代,也称为动态规划方法。以下是该算法的描述以及一个简单的Python示例:
**算法步骤:**
1. 初始化一个变量`result`为1,它将存储阶乘的结果。
2. 从1开始,每次循环到n(包括n),将当前的数字`i`乘以`result`,然后将结果更新到`result`上。
3. 循环结束后,`result`就是n的阶乘。
**Python代码示例:**
```python
def factorial(n):
if n == 0 or n == 1: # 特殊情况,0! 和 1! 都等于1
return 1
result = 1
for i in range(1, n + 1): # 注意范围是1到n+1,因为需要包含n
result *= i
return result
# 示例:
n = int(input("请输入一个正整数:"))
factorial_result = factorial(n)
print(f"{n}的阶乘是:{factorial_result}")
阅读全文