結果
問題 | No.500 階乗電卓 |
ユーザー |
|
提出日時 | 2017-04-08 02:27:08 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 2,088 bytes |
コンパイル時間 | 2,625 ms |
コンパイル使用メモリ | 77,408 KB |
実行使用メモリ | 41,224 KB |
最終ジャッジ日時 | 2024-06-25 02:54:55 |
合計ジャッジ時間 | 4,630 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.io.OutputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.StringTokenizer;import java.io.IOException;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.InputStream;/*** Built using CHelper plug-in* Actual solution is at the top** @author Chiaki.Hoshinomori*/public class Main {public static void main(String[] args) {InputStream inputStream = System.in;OutputStream outputStream = System.out;InputReader in = new InputReader(inputStream);PrintWriter out = new PrintWriter(outputStream);Task500 solver = new Task500();solver.solve(1, in, out);out.close();}static class Task500 {public void solve(int testNumber, InputReader in, PrintWriter out) {long n = in.nextLong();long mod = 1000000000000l;long r = 1;if (n > 100) {out.println("000000000000");} else {for (long i = 0; i < n; i++) {r = r * (i + 1) % mod;}if (n <= 14) {out.println(r);} else {out.printf("%012d\n", r);}}}}static class InputReader {public BufferedReader reader;public StringTokenizer tokenizer;public InputReader(InputStream stream) {reader = new BufferedReader(new InputStreamReader(stream), 32768);tokenizer = null;}public String next() {while (tokenizer == null || !tokenizer.hasMoreTokens()) {try {tokenizer = new StringTokenizer(reader.readLine());} catch (IOException e) {throw new RuntimeException(e);}}return tokenizer.nextToken();}public long nextLong() {return Long.parseLong(next());}}}