题目链接:HDU1042
用Java写方便,直接算或者打表都行,速度都差不多
Javacode:
/*
* 2017年9月20日19:27:24
* HDU1042 大数阶乘
* 用缓冲流效率基本没变
* AC
* */
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
public static void main(String []args){
//Scanner cin=new Scanner(new BufferedInputStream(System.in));
//PrintWriter cout=new PrintWriter(System.out);
Scanner cin=new Scanner(System.in);
int n;
while(cin.hasNext()){
n=cin.nextInt();
BigInteger ans=BigInteger.ONE;
for(int i=1;i<=n;i++){
ans=ans.multiply(BigInteger.valueOf(i));
}
System.out.println(ans);
}
}
}
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
BigInteger a[] = new BigInteger[10005];
a[0] = BigInteger.ONE;
for(int i = 1; i <= 10000; i++)
a[i] = a[i - 1].multiply(BigInteger.valueOf(i));
int n;
while(sca.hasNextInt()){
n = sca.nextInt();
System.out.println(a[n]);
}
}
}