题目

从标准输入读入一个非负整数 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