結果
| 問題 | No.300 平方数 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-13 23:58:48 |
| 言語 | Kotlin (2.3.20) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,729 bytes |
| 記録 | |
| コンパイル時間 | 9,383 ms |
| コンパイル使用メモリ | 475,956 KB |
| 実行使用メモリ | 51,272 KB |
| 最終ジャッジ日時 | 2026-05-14 02:44:23 |
| 合計ジャッジ時間 | 13,645 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 1 WA * 1 TLE * 1 -- * 40 |
ソースコード
package Yukicoder
/**
* Created by hichikawa on 2015/11/12.
*/
fun main(args: Array<String>) {
fun readLineLongArray(): List<Long> {
val str = readLine() as String
val arrStr = str.split(" ")
val ret = arrStr.map { it.toLong() }
return ret
}
fun readLineLong(): Long {
val str = readLine() as String
return str.toLong()
}
fun readLineInt(): Int {
val str = readLine() as String
return str.toInt()
}
fun readLineIntArray() : List<Int> {
val str = readLine() as String
val arrStr = str.split(" ")
val ret = arrStr.map { it.toInt() }
return ret
}
fun readLineDoubleArray(): List<Double> {
val str = readLine() as String
val arrStr = str.split(" ")
val ret = arrStr.map { it.toDouble() }
return ret
}
var num = readLineLong()
var ans = 1.toLong()
while (num != 1.toLong()) {
for (i in 2..2) {
var count = 0
while (true) {
if (num % i == 0.toLong()) {
num /= i
count++
} else {
break
}
}
if (count % 2 == 1) {
ans *= i
}
}
for (i in 3.toLong()..Math.sqrt(num.toDouble()).toLong() step 2) {
var count = 0
while (true) {
if (num % i == 0.toLong()) {
num /= i
count++
} else {
break
}
}
if (count % 2 == 1) {
ans *= i
}
}
println(ans)
}
}