题目
读入 n,计算 n 的阶乘
思路
读非负 n,long fact = 1,for (int i = 2; i <= n; i++) fact *= i;n==0 时结果为 1。(正文程序里用 Java 的 for/while 实现同样逻辑即可。)
解题分析
0! 定义为 1,循环从 2 乘到 n。n 稍大就要 long 类型,再大则溢出,题目需约定 n 上限。
完整程序
import java.io.*;
public class Main {
public static void main(String[] args) {
int n = 5;
long f = 1;
for (int i = 2; i <= n; i++) f *= i;
System.out.println(f);
}
}
运行示例
输出:
120