已知阶乘的定义 n!=nx(n-1)*(n-2)*(n-3)*……*3x2x1 请使用程序实现任意自然数阶乘。 输入:提示用户输入需要计算的数 输出:打印输出该数的阶乘结果
时间: 2023-12-19 15:07:57 浏览: 112
好的,以下是Python语言的实现代码:
```python
num = int(input("请输入需要计算阶乘的自然数:"))
factorial = 1
if num < 0:
print("抱歉,阶乘不存在!")
elif num == 0:
print("0的阶乘为1")
else:
for i in range(1, num + 1):
factorial = factorial * i
print(num, "的阶乘为", factorial)
```
首先,我们通过 `input` 函数获取用户输入的自然数,然后使用一个变量 `factorial` 存储阶乘的结果。如果输入的数小于 0,那么阶乘不存在,直接输出提示信息;如果输入的数等于 0,则它的阶乘为 1,直接输出结果;如果输入的数大于 0,则使用 `for` 循环计算阶乘。最后,输出计算结果即可。
相关问题
定义一个函数,求阶乘。 n!=1*2*3*……*n (n为正整数)
好的,以下是 Python 代码实现:
```python
def factorial(n):
if n <= 1:
return 1
else:
return n * factorial(n-1)
```
这里使用了递归的方式实现求阶乘,当 `n` 小于等于 1 时,返回 1;否则返回 `n` 乘以 `n-1` 的阶乘。
阅读全文