用Python求阶乘
时间: 2023-11-05 22:10:37 浏览: 47
可以使用递归或循环的方式来求解阶乘,下面是两种方法的示例代码:
递归方式:
```python
def factorial_recursive(n):
if n == 0:
return 1
else:
return n * factorial_recursive(n-1)
```
循环方式:
```python
def factorial_iterative(n):
result = 1
for i in range(1, n+1):
result *= i
return result
```
两种方式的输出结果是相同的,例如:
```python
>>> factorial_recursive(5)
120
>>> factorial_iterative(5)
120
```
相关问题
用python求阶乘和
以下是用Python实现求阶乘和的代码:
```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorials(n):
sum = 0
for i in range(1, n+1):
sum += factorial(i)
return sum
n = 5
print("The sum of factorials from 1 to", n, "is", sum_of_factorials(n))
```
以上代码中,`factorial`函数用来计算阶乘,`sum_of_factorials`函数用来计算阶乘和。在主函数中,我们设置n为5,然后调用`sum_of_factorials`函数来计算从1到5的阶乘和,并输出结果。
用Python 求阶乘和
阶乘是指自然数 n(n>=1)的连乘积,记作 n!,例如:5! = 5*4*3*2*1 = 120。
求阶乘和可以按照以下思路实现:
1. 定义一个函数 factorial(n) 用于求 n 的阶乘;
2. 定义一个变量 sum 用于累加阶乘;
3. 循环遍历 1 到 n,每次计算 i 的阶乘,并累加到 sum 中;
4. 最后返回 sum。
代码实现如下:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
def factorial_sum(n):
sum = 0
for i in range(1, n+1):
sum += factorial(i)
return sum
n = 5
result = factorial_sum(n)
print("1到%d的阶乘和为%d" % (n, result))
```
输出结果:1到5的阶乘和为153。