题目
从标准输入读入一个非负整数 n,计算并输出其阶乘 n!。约定 0! = 1。
输入格式:一行输入一个非负整数 n。
输出格式:输出一个整数表示 n! 的值,末尾换行。
数据范围与约定:0 ≤ n ≤ 100。
思路与算法
1. 循环累乘
初始化 f = 1,使用循环 for i in range(2, n + 1) 累乘各个因子。当 n=0 或 n=1 时循环不执行,自然得到正确结果 1。
2. 大整数无需担心溢出
Python 自动处理超大阶乘(如 100! 达到 158 位),完全免去 C 语言中由于类型范围溢出导致的结果错误。
完整程序
n = int(input())
# 阶乘计算:0! 和 1! 均为 1,循环从 2 累乘到 n
f = 1
for i in range(2, n + 1):
f *= i
print(f)运行示例
输入:
5输出:
120