結果

問題 No.144 エラトステネスのざる
ユーザー 👑 zeronosu77108zeronosu77108
提出日時 2021-02-10 18:54:43
言語 Kotlin
(1.9.23)
結果
AC  
実行時間 1,542 ms / 2,000 ms
コード長 388 bytes
コンパイル時間 14,502 ms
コンパイル使用メモリ 426,096 KB
実行使用メモリ 139,032 KB
最終ジャッジ日時 2023-09-22 13:57:48
合計ジャッジ時間 31,104 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 363 ms
57,412 KB
testcase_01 AC 359 ms
57,280 KB
testcase_02 AC 359 ms
59,036 KB
testcase_03 AC 358 ms
57,260 KB
testcase_04 AC 355 ms
57,148 KB
testcase_05 AC 356 ms
57,368 KB
testcase_06 AC 360 ms
57,164 KB
testcase_07 AC 363 ms
57,408 KB
testcase_08 AC 365 ms
57,184 KB
testcase_09 AC 361 ms
57,432 KB
testcase_10 AC 363 ms
57,628 KB
testcase_11 AC 361 ms
57,176 KB
testcase_12 AC 360 ms
57,244 KB
testcase_13 AC 1,521 ms
138,932 KB
testcase_14 AC 1,542 ms
138,872 KB
testcase_15 AC 1,535 ms
138,904 KB
testcase_16 AC 1,495 ms
138,908 KB
testcase_17 AC 1,496 ms
138,964 KB
testcase_18 AC 1,504 ms
139,032 KB
testcase_19 AC 1,498 ms
138,912 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*

fun main() {
    val sc = Scanner(System.`in`)
    val n = sc.nextInt()
    val p = sc.nextDouble()

    val dp = Array<Double>(n+1) { 1.0 }
    val isPrime = Array(n+1) { true }
    dp[0] = 0.0; dp[1] = 0.0;

    for (i in 2 .. n) {
        if (!isPrime[i]) continue
        for (j in i*2 .. n step i) dp[j] *= (1 - p)
    }

    val ans = dp.sum()
    println(ans)
}
0