結果

問題 No.192 合成数
ユーザー t8m8⛄️
提出日時 2015-05-03 22:08:59
言語 Java
(openjdk 23)
結果
AC  
実行時間 130 ms / 2,000 ms
コード長 1,251 bytes
コンパイル時間 3,556 ms
コンパイル使用メモリ 78,292 KB
実行使用メモリ 41,796 KB
最終ジャッジ日時 2024-06-27 01:35:32
合計ジャッジ時間 7,954 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

//No.192 合成数

import java.util.*;
import java.io.*;
import static java.util.Arrays.*;
import static java.lang.Math.*;

public class No0192 {
    
    static final Scanner in = new Scanner(System.in);
    static final PrintWriter out = new PrintWriter(System.out,false);

    static void solve() {
        boolean[] isPrime = sieveOfEratosthenes(2000);
        int n = in.nextInt();
        for (int i=n-100; i<=n+100; i++) {
            if (!isPrime[i] && i != 1) {
                out.println(i);
                return;
            }
        }
    }

    static boolean[] sieveOfEratosthenes(int n) {
        boolean[] isPrime = new boolean[n];
        Arrays.fill(isPrime,true);
        isPrime[0] = isPrime[1] = false;
        for (int i=2; i<n; i++) {
            if (isPrime[i]) {
                for (int j=i+i; j<n; j+=i) isPrime[j] = false;
            }
        }
        return isPrime;
    }

    public static void main(String[] args) {
        long start = System.currentTimeMillis();

        solve();
        out.flush();

        long end = System.currentTimeMillis();
        //trace(end-start + "ms");
        in.close();
        out.close();
    }

    static void trace(Object... o) { System.out.println(deepToString(o));}
}
0