题目
Description
我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
Input
输入一个整数m( 0 < m < =5000)
Output
输出m的阶乘,并在输出结束之后输入一个换行符
Sample Input
50
Sample Output
30414093201713378043612608166064768844377641568960512000000000000
HINT
C 用数组
Java 用BigInteger
代码块
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int a=cin.nextInt();
System.out.println(factorial(a));
}
private static BigInteger factorial(int a) {
return a==0? new BigInteger("1"):factorial(a-1).multiply(new BigInteger(Integer.toString(a)));
}
}