N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 49706 Accepted Submission(s): 13958
Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
1 2 3
Sample Output
1 2 6
import java.io.IOException;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.math.BigInteger;
class Main
{
public static final boolean DEBUG = false;
public StreamTokenizer tokenizer;
public PrintWriter cout;
public int n;
public void init()
{
BufferedReader cin;
try {
if (DEBUG) {
cin = new BufferedReader(new FileReader("d:\\OJ\\uva_in.txt"));
} else {
cin = new BufferedReader(new InputStreamReader(System.in));
}
tokenizer = new StreamTokenizer(cin);
} catch (IOException e) {
e.printStackTrace();
}
cout = new PrintWriter(new OutputStreamWriter(System.out));
}
public boolean input() throws IOException
{
tokenizer.nextToken();
if (tokenizer.ttype == StreamTokenizer.TT_EOF) return false;
if (tokenizer.ttype == StreamTokenizer.TT_EOL) {
tokenizer.nextToken();
}
if (tokenizer.ttype == StreamTokenizer.TT_NUMBER) n = (int)tokenizer.nval;
return true;
}
public void solve()
{
BigInteger ans = BigInteger.ONE;
for (int i = 1; i <= n; i++) {
ans = ans.multiply(BigInteger.valueOf(i));
}
cout.println(ans.toString());
cout.flush();
}
public static void main(String[] args) throws IOException
{
Main solver = new Main();
solver.init();
while (solver.input()) {
solver.solve();
}
}
}