結果

問題 No.500 階乗電卓
ユーザー Goryudyuma
提出日時 2017-05-10 18:04:43
言語 Java
(openjdk 23)
結果
AC  
実行時間 137 ms / 2,000 ms
コード長 978 bytes
コンパイル時間 2,289 ms
コンパイル使用メモリ 75,056 KB
実行使用メモリ 41,416 KB
最終ジャッジ日時 2024-06-25 03:01:16
合計ジャッジ時間 6,224 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main{
        public static void main(String[] args){
                try(Scanner sc = new Scanner(System.in)){
                        long N = sc.nextLong();
                        long ans = 1;
                        boolean f = false;
                        for(long i = 1; i <= N; i++){
                                ans *= i;
                                if(f && ans == 0){
                                        break;
                                }
                                if(ans >= 1000000000000L){
                                        f = true;
                                        ans %= 1000000000000L;
                                }
                        }
                        if(f){
                                System.out.printf("%012d\n", ans);
                        } else {
                                System.out.println(ans);
                        }
                }
        }
}
0