问题描述
给定n和len,输出n!末尾len位。
输入格式
一行两个正整数n和len。
输出格式
一行一个字符串,表示答案。长度不足用前置零补全。
样例输入
6 5
样例输出
00720
补充知识点:multiply(a,b)就是个乘法,如果a,b是两个数组,那么对应元素相乘
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int len = scanner.nextInt();
scanner.close();
BigInteger num1 = new BigInteger(n + "");//超大整型 n
for (int i = 1; i < n; i++) {
BigInteger num2 = new BigInteger(i + "");
num1 = num1.multiply(num2); //num2*num1的值,具体API
}
String s = num1 + "";
if (s.length() > len) {
s = s.substring(s.length() - len); //截取题目要求的长度
} else {
while (s.length() < len) { //长度不够,前面用0代替
s = "0" + s;
}
}
System.out.println(s);
}