結果
問題 |
No.308 素数は通れません
|
ユーザー |
|
提出日時 | 2020-03-28 15:18:01 |
言語 | Kotlin (2.1.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,696 bytes |
コンパイル時間 | 17,587 ms |
コンパイル使用メモリ | 466,524 KB |
実行使用メモリ | 60,668 KB |
最終ジャッジ日時 | 2025-01-02 11:25:43 |
合計ジャッジ時間 | 53,252 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 87 WA * 20 |
ソースコード
import java.io.PrintWriter import java.lang.Math.abs import java.math.BigDecimal import java.math.BigInteger import java.util.* import kotlin.math.max import kotlin.math.min @JvmField val INPUT = System.`in` @JvmField val OUTPUT = System.out @JvmField val cin = INPUT.bufferedReader() fun readLine(): String? = cin.readLine() fun readLn() = cin.readLine()!! @JvmField var _tokenizer: StringTokenizer = StringTokenizer("") fun read(): String { while (_tokenizer.hasMoreTokens().not()) _tokenizer = StringTokenizer(cin.readLine() ?: return "", " ") return _tokenizer.nextToken() } fun readInt() = read().toInt() fun readDouble() = read().toDouble() fun readLong() = read().toLong() fun readStrings(n: Int) = List(n) { read() } fun readLines(n: Int) = List(n) { readLn() } fun readInts(n: Int) = List(n) { read().toInt() } fun readIntArray(n: Int) = IntArray(n) { read().toInt() } fun readDoubles(n: Int) = List(n) { read().toDouble() } fun readDoubleArray(n: Int) = DoubleArray(n) { read().toDouble() } fun readLongs(n: Int) = List(n) { read().toLong() } fun readLongArray(n: Int) = LongArray(n) { read().toLong() } @JvmField val cout = PrintWriter(OUTPUT, false) fun main(args: Array<String>) { val t = read().toBigInteger() if(t <= 25.toBigInteger()){ val tt = t.toInt() cout.println( when(tt) { 4 -> 3 6 -> 5 in arrayOf(8, 9, 10, 15, 16, 22) -> 7 12 -> 11 14 -> 13 20 -> 19 21 -> 19 24 -> 23 25 -> 23 else -> 8 }) }else { cout.println(if(t.minus(8.toBigInteger()).isProbablePrime(100)) 14 else 8) } cout.flush() }