大整数的阶乘
求大整数的阶乘。
本题要求编写一个计算大整数阶乘的方法,并在main()方法中调用。
输入只有一行输入,整数n。
输出在单独的一行中输出数值n!。
代码:import java.math.BigDecimal;
import java.util.Scanner;
public class Main {//此处的Main是因为判题系统无法实现识别类名只能规定用Main
static String BigIntMul(String v1, String v2) {
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return b1.multiply(b2).toString();
}
public static void main(String[] args) {
String s = 1 + "";
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for (int i = 1; i <= n; i++) {
String str = i + "";
s = BigIntMul(s, str);
}
for (int i = 0; i < s.length(); i++) {
System.out.printf("%d",
Integer.parseInt(String.valueOf(s.charAt(i))));
}
System.out.printf("\n");
}
}