【Java】求大数阶乘
2020年1月18日小于 1 分钟
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
// 计算 n 的阶乘
public static BigInteger factorial(int n) {
BigInteger result = BigInteger.ONE;
for (int i = 2; i <= n; i++) {
result = result.multiply(BigInteger.valueOf(i));
}
return result;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数 n: ");
int n = scanner.nextInt();
// 检查输入是否有效
if (n < 0) {
System.out.println("负数没有阶乘!");
} else {
BigInteger result = factorial(n);
System.out.printf("%d 的阶乘是: %s%n", n, result);
}
scanner.close();
}
}