結果

問題 No.144 エラトステネスのざる
ユーザー yuki2006yuki2006
提出日時 2015-02-05 19:58:57
言語 PyPy2
(7.3.15)
結果
WA  
実行時間 -
コード長 528 bytes
コンパイル時間 373 ms
コンパイル使用メモリ 77,600 KB
実行使用メモリ 250,644 KB
最終ジャッジ日時 2023-09-05 12:56:47
合計ジャッジ時間 22,372 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 AC 959 ms
97,992 KB
testcase_04 AC 959 ms
98,004 KB
testcase_05 AC 956 ms
97,568 KB
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*-

import random
import time

start = time.clock()

N, p = map(float, raw_input().split())
N = int(N)

QQ = 10 ** 6
total = 0
q = 0

# モンテカルロ法

while time.clock() - start < 0.8:

    prime = [True] * (N + 1)
    prime[0] = prime[1] = False

    for v in xrange(2, N + 1):
        if not prime[v]:
            continue
        if random.random() <= 1 - p:
            for i in xrange(v + v, N + 1, v):
                prime[i] = False

    total += sum(prime)
    q += 1

print 1.0 * total / q
0