https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=564
這題最大測資有1000階層會爆所以要利用大數運算動態配置儲存1000筆資料
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
BigInteger arr[]=new BigInteger[1001];
arr[1]=new BigInteger("1");arr[0]=new BigInteger("1");
for(int i=2;i<=1000;i++){
arr[i]=arr[i-1].multiply(new BigInteger(Integer.toString(i)));
}
while(scn.hasNext()){
int num=scn.nextInt();
System.out.println(num+"!\n"+arr[num]);
}
}
/*
題目:Q623 - 500!
作者:1010
時間:西元 2016 年 8 月 */
}