题目
n!=n×(n−1)×(n−2)×⋯×3×2×1
例如 10!=9×8×7×6×5×4×3×2×1=3628800
那么 10! 的各位之和就是 3+6+2+8+8+0+0=27
算出100!的各位数字之和
解题方法
利用Java的BigInteger类进行求解。
程序
public static void solve() {
BigInteger num = BigInteger.ONE;
// 计算100!的结果
for (int i = 1; i <= 100; i++) {
num = num.multiply(new BigInteger(String.valueOf(i)));
}
// 将100!的结果转化为字符数组
char[] numCharArray = num.toString().toCharArray();
int sum = 0;
for (char c : numCharArray) {
// char型的数字减48就是对应的int数值
sum += c - 48;
}
System.out.println(sum);
}