给一个程序,输入正整数n(n<100),输出n的阶乘。提示:注意数值溢出
时间: 2024-04-11 22:25:57 浏览: 180
编写程序,输入整数 n,计算并输出 n 的阶乘
当计算阶乘时,确实需要小心数值溢出的问题。以下是一个使用Python编写的程序,可以计算输入正整数n的阶乘,并且考虑了数值溢出的情况:
```python
def factorial(n):
if n == 0:
return 1
result = 1
for i in range(1, n+1):
result *= i
# 检查是否发生数值溢出
if result > 10**18:
return "数值溢出"
return result
n = int(input("请输入一个正整数n:"))
if n < 100:
print(factorial(n))
else:
print("输入的n超出范围")
```
请注意,这里假设数值溢出的阈值为 10^18,你可以根据实际情况进行调整。另外,为了简单起见,这个程序只接受用户输入的整数n,没有做输入验证。如果你需要更完整的输入验证,请在代码中进行相应的修改。
阅读全文