結果
問題 | No.1063 ルートの計算 / Sqrt Calculation |
ユーザー |
|
提出日時 | 2020-05-29 21:25:01 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 299 ms / 2,000 ms |
コード長 | 1,327 bytes |
コンパイル時間 | 13,597 ms |
コンパイル使用メモリ | 443,780 KB |
実行使用メモリ | 54,492 KB |
最終ジャッジ日時 | 2024-11-06 02:23:36 |
合計ジャッジ時間 | 19,526 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
コンパイルメッセージ
Main.kt:39:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
import java.io.BufferedReader import java.io.InputStream import java.io.InputStreamReader import java.io.PrintWriter import java.lang.StringBuilder import java.util.* fun PrintWriter.solve(sc: FastScanner) { var n = sc.nextInt() val pf = mutableMapOf<Int, Int>() var d = 2 while (d * d <= n) { var count = 0 while (n % d == 0) { count++ n /= d } if (count > 0) { pf[d] = count } d++ } if (n > 1) { pf[n] = 1 } var a = 1 var b = 1 for ((p, e) in pf) { for (i in 0 until e / 2) { a *= p } if (e % 2 == 1) { b *= p } } println("$a $b") } fun main(args: Array<String>) { val writer = PrintWriter(System.out, false) writer.solve(FastScanner(System.`in`)) writer.flush() } class FastScanner(s: InputStream) { private var st = StringTokenizer("") private val br = BufferedReader(InputStreamReader(s)) fun next(): String { while (!st.hasMoreTokens()) st = StringTokenizer(br.readLine()) return st.nextToken() } fun nextInt() = next().toInt() fun nextLong() = next().toLong() fun nextLine() = br.readLine() fun nextDouble() = next().toDouble() fun ready() = br.ready() }