結果
問題 | No.308 素数は通れません |
ユーザー |
|
提出日時 | 2020-03-28 15:24:10 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 425 ms / 1,000 ms |
コード長 | 1,744 bytes |
コンパイル時間 | 13,891 ms |
コンパイル使用メモリ | 468,728 KB |
実行使用メモリ | 60,888 KB |
最終ジャッジ日時 | 2025-01-02 11:31:18 |
合計ジャッジ時間 | 52,728 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 107 |
ソースコード
import java.io.PrintWriterimport java.lang.Math.absimport java.math.BigDecimalimport java.math.BigIntegerimport java.util.*import kotlin.math.maximport 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 -> 36 -> 5in arrayOf(8, 9, 10, 15, 16, 22) -> 712 -> 1114 -> 1320 -> 1921 -> 1924 -> 2325 -> 23else -> 8})}else {cout.println(if(t.subtract(8.toBigInteger()).isProbablePrime(100) && t.rem(8.toBigInteger()) == BigInteger.ONE) 14 else 8)}cout.flush()}