結果
| 問題 |
No.308 素数は通れません
|
| コンテスト | |
| ユーザー |
かに
|
| 提出日時 | 2015-12-07 04:21:00 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 131 ms / 1,000 ms |
| コード長 | 789 bytes |
| コンパイル時間 | 2,638 ms |
| コンパイル使用メモリ | 77,592 KB |
| 実行使用メモリ | 41,760 KB |
| 最終ジャッジ日時 | 2024-11-27 18:44:43 |
| 合計ジャッジ時間 | 16,216 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 107 |
ソースコード
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
BigInteger n = new BigInteger(sc.next());
int[] num100 = {1,1,1,3,1,5,1,7,7,7,1,11,1,13,7,7,1,8,1,19,19,7,1,23,23,8,8,8,1,8,1,8,8,8,8,8,1,8,8,8,1,8,1,8,8,8,1,8,14,8,8,8,1,8,8,8,8,8,1,8,1,8,8,8,8,8,1,8,8,8,1,8,1,8,8,8,8,8,1,8,14,8,1,8,8,8,8,8,1,8,8,8,8,8,8,8,1,8,8};
if(n.compareTo(new BigInteger("100")) < 0){
System.out.println(num100[n.intValue()-1]);
}else{
if(n.mod(new BigInteger("8")).intValue() != 1){
System.out.println(8);
}else{
BigInteger m = n.subtract(new BigInteger("8"));
if(m.isProbablePrime(50)){
System.out.println(14);
}else{
System.out.println(8);
}
}
}
}
}
かに