您的位置:首页 > 理论基础 > 计算机网络

http://acm.hdu.edu.cn/showproblem.php?pid=2674 (很神奇)

2010-08-09 19:38 399 查看
]/*
*  一开始 2009 后面的全部为0 前面的用BigInteger 暴力  TLE
*  后来试了很多收据从41开始后面的数据全部为0 前面的乘下就OK了
*/
import java.util.*;
import java.io.*;
import java.math.*;
public class Main2674 {
//static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
//static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
static Scanner cin = new Scanner(new BufferedInputStream(System.in));
public static void main(String[] args){
while(cin.hasNext()){
BigInteger a = cin.nextBigInteger();
if(a.compareTo(BigInteger.valueOf(41)) >= 0){
//out.println(0);
System.out.println("0");;
continue;
}

BigInteger ans = BigInteger.ONE;
for(int i = 2; i <= a.intValue(); i++){
ans = ans.multiply(BigInteger.valueOf(i));
}

/*
long ans = 1;
for(int i = 2; i <= a.intValue(); i++){
ans = (ans * i) % 2009;
}
*/
//System.out.println(ans);
//out.println(ans.remainder(BigInteger.valueOf(2009)));
System.out.println(ans.remainder(BigInteger.valueOf(2009)));
}
//out.flush();
}

}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  import string class